home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-01-31 | 271.6 KB | 5,861 lines |
-
-
-
-
-
-
-
-
-
-
-
-
- HYPERGEO
-
- Version 2.1
-
-
-
-
-
- A program for investigating the geometrical
- properties of four-dimensional hyperspace
-
-
-
-
-
-
-
-
-
- USER'S GUIDE AND PROGRAM REFERENCE MANUAL
-
-
-
-
-
-
-
-
-
-
-
-
-
- WareCraft
-
- P.O. Box 139
- Bedford, MA 01730
- USA
-
-
- HYPERGEO Version 2.1 Page ii
-
-
-
-
-
-
-
-
-
-
- COPYRIGHT NOTICE
-
-
- HYPERGEO is Copyright (c) 1993 by WareCraft.
-
- This document is Copyright (c) 1993 by WareCraft.
-
- ALL RIGHTS RESERVED.
-
-
-
-
- Contains licensed program materials of Metagraphics Software
- Corporation. Copyright (c) 1986-1989 Metagraphics Software
- Corporation, Scotts Valley, CA 95066
-
-
-
- Self-extracting archives use LHA 2.13 Copyright (c) Yoshi, 1991.
-
-
-
-
-
-
-
-
- DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITIES
-
-
- Due to the nature of computer programming it is impossible to
- guarantee the performance of this product. The author makes
- no warranty, expressed or implied, in regard to this program
- and its accompanying data files and documentation. In no
- event shall the author of this program be liable for
- incidental or consequential damages relating to or arising
- out of its use.
-
-
- HYPERGEO Version 2.1 Page iii
-
-
-
-
-
-
-
-
- LICENSE
-
-
- HYPERGEO is a copyrighted computer program. It is not public
- domain or free software.
-
- Copies of the program are made available on a trial basis to
- prospective users according to the distribution system known
- as "shareware". Persons acquiring a shareware copy of
- HYPERGEO are granted a limited license to use the program for
- an evaluation period not to exceed 30 days. At the end of
- that time they must either become registered users of
- HYPERGEO by paying the requisite registration fee or cease
- using the program. Recipients of the shareware copy of
- HYPERGEO may make duplicate copies of the program material
- for the express purpose of distribution to other prospective
- users, provided that:
-
- * Each copy contains all HYPERGEO program files, data
- files, and documentation files complete and
- unmodified;
-
- * No payment is charged for the shareware copies beyond
- normal charges for the cost of the diskette and its
- shipment and handling.
-
-
- Registered users of HYPERGEO are granted license to use the
- software without time limit on a single computer. A
- registered copy of the HYPERGEO program material may not be
- duplicated other than for back-up purposes. A registered
- copy of HYPERGEO may not be distributed to others.
-
-
- HYPERGEO Version 2.1 Page iv
-
-
-
-
-
-
- _______
- ____|__ | (R)
- --| | |-------------------
- | ____|__ | Association of
- | | |_| Shareware
- |__| o | Professionals
- -----| | |---------------------
- |___|___| MEMBER
-
-
-
-
-
-
-
- ASSOCIATION OF SHAREWARE PROFESSIONALS OMBUDSMAN POLICY
-
-
- This program is produced by a member of the Association of
- Shareware Professionals (ASP). ASP wants to make sure that
- the shareware principle works for you. If you are unable to
- resolve a shareware-related problem with an ASP member by
- contacting the member directly, ASP may be able to help. The
- ASP Ombudsman can help you resolve a dispute or problem with
- an ASP member, but does not provide technical support for
- members' products. Please write to the ASP Ombudsman at 545
- Grover Road, Muskegon, MI 49442-9427 or send a CompuServe
- message via CompuServe Mail to ASP Ombudsman 70007,3536.
-
-
- HYPERGEO Version 2.1 Page v
-
-
-
-
- Table of Contents
-
-
-
- Section 1. Introduction.................................... 1-1
-
- Section 2. From Hyperspace to the Video Screen............. 2-1
- 2.1 From Four Dimensions to Three................. 2-1
- 2.1.1 Projection.................................. 2-1
- 2.1.2 Intersection................................ 2-2
- 2.2 Direct Three-Dimensional Geometry Definition.. 2-2
- 2.3 From Three Dimensions to Two.................. 2-3
-
- Section 3. The HYPERGEO Program............................ 3-1
- 3.1 General Structure............................. 3-2
- 3.2 The HYPERGEO Display Screen................... 3-4
- 3.2.1 Color....................................... 3-4
- 3.2.2 On-line Help................................ 3-7
- 3.2.3 Dialog Boxes................................ 3-8
- 3.2.3.1 Generic Text Dialog Boxes................. 3-9
- 3.2.3.2 File Selection Dialog Boxes............... 3-10
- 3.2.3.3 Color Selection Dialog Box................ 3-12
- 3.2.3.4 List Selection Dialog Box................. 3-13
- 3.2.3.5 Action Approval Dialog Box................ 3-13
- 3.3 Geometry Manipulations........................ 3-14
- 3.3.1 Rotations................................... 3-14
- 3.3.1.1 Orthogonal Orientations................... 3-18
- 3.3.1.2 The Locate Function for Rotations......... 3-19
- 3.3.2 Translation of the Intersecting Hyperplane.. 3-19
- 3.3.3 Moving the Viewpoint for 4-D Projections.... 3-20
- 3.3.4 Translation of Individual Vertexes.......... 3-22
- 3.3.4.1 4-D Image Considerations.................. 3-22
- 3.3.4.2 The Two User Interface States............. 3-23
- 3.3.4.3 Vertex Translations without a Mouse....... 3-24
- 3.4 View Control.................................. 3-25
- 3.4.1 The Five Display Modes...................... 3-25
- 3.4.2 Key Display Parameters...................... 3-26
- 3.4.3 Hyperface Highlighting...................... 3-27
- 3.4.4 W-coordinate Spectrum Banding............... 3-28
- 3.5 Journalling................................... 3-29
- 3.5.1 Recording a Journal File.................... 3-30
- 3.5.2 Replaying a Journal File.................... 3-31
- 3.6 PCX File Output............................... 3-34
-
-
- HYPERGEO Version 2.1 Page vi
-
-
-
-
- Table of Contents (continued)
-
-
-
- Section 4. Inner Workings.................................. 4-1
- 4.1 Units......................................... 4-1
- 4.2 Verification of the Geometry Definition....... 4-1
- 4.3 Overlay Swapping.............................. 4-2
-
- Section 5. Restrictions and Limitations.................... 5-1
- 5.1 Geometry Definition File...................... 5-1
- 5.2 Mathematical Precision........................ 5-2
-
- Section 6. Supplied Geometry Definition Files.............. 6-1
-
- Appendix A. Geometry Definition File........................ A-1
- A.1 Text Format of the Geometry Definition File... A-1
- A.2 The GEO2BIN Utility Program................... A-3
-
- Appendix B. Configuration File.............................. B-1
-
- Appendix C. Command Line Arguments.......................... C-1
-
- Appendix D. Interactive Commands............................ D-1
- D.1 Keyboard Commands and the Modifier Keys....... D-1
- D.2 Mouse Selected Interactive Commands........... D-2
- D.3 Interactive Parameter Specification........... D-5
- D.4 HYPERGEO Interactive Keyboard Commands........ D-6
-
- Appendix E. Running HYPERGEO under Microsoft Windows........ E-1
-
- Appendix F. What's New in Version 2......................... F-1
-
- Appendix G. Utility Programs for Geometry File Generation... G-1
-
-
- HYPERGEO Version 2.1 Page 1-1
-
-
-
-
- Section 1. Introduction
-
-
- "I tried turning the hypercube around, moving it away,
- bringing it up close, turning it around another way.
- Suddenly I could feel it! The hypercube had leaped into
- palpable reality, as I learned how to manipulate it, feeling
- in my fingertips the power to change what I saw and change it
- back again. The active control at the computer console
- created a union of kinesthetics and visual thinking which
- brought the hypercube up to the level of intuitive
- understanding."
-
- "The Mathematical Experience"
- Philip J. Davis & Reuben Hersh
-
-
-
- For reasons known only to the Great Cosmic Programmer, the
- universe in which we dwell possesses three spatial dimensions.
- Our senses of physical perception operate intuitively and
- naturally in these three dimensions. Indeed, it requires an act
- of intellectual imagination to consider the nature of alternative
- dimensional realities. With some contrivance we can picture the
- peculiar qualities of a world aware of only two dimensions. This
- is the substance of Edwin Abott Abott's famous fantasy "Flatland"
- (written from the viewpoint of Abott's two-dimensional narrator
- A. Square). We can make the mental adjustment required to conceive
- of a two-dimensional universe by imagining one of our three
- dimensions to be somehow squeezed down to zero extent and thus
- out of existence. It is a simple matter to draw pictures of
- two-dimensional objects; in fact, the nature of writing surfaces
- and writing implements is such that all our drawings are already
- limited to two dimensions (it is only the insistently
- three-dimensional nature of our sense of sight that causes us to
- "see" depth in our flat artwork). Perceptions in two dimensions
- are accessible because they already exist within our
- three-dimensional space and because we have at hand ready
- physical analogs in the form of flat surfaces of solid objects.
-
- In "Flatland", Abott makes his narrator aware of the existence of
- three-dimensional "Spaceland" although A. Square is unable to
- fully conceive of its nature. He further contemplates the
- analogous relationship between Spaceland and a still higher
- universe possessing four dimensions. In that scenario we, the
- inhabitants of our familiar three-dimensional reality, become the
- Flatlanders, constitutionally unable to perceive the totality of
- the encompassing higher realm.
-
-
- HYPERGEO Version 2.1 Page 1-2
-
-
- When we try to imagine the shape and configuration of
- "hyperobjects" - that is, objects constructed in four dimensions
- - we are stopped short by the inability of our conceptual powers
- to find a place for the fourth dimension. For whatever reason,
- there simply is no way to twist or rearrange four separate
- orthogonal dimensions so they make spatial sense to us.
-
- Our best hope for grasping the essence of four-dimensional
- reality lies in somehow reducing the full complexity of
- hyperobjects to a simplified image that can be represented in
- three dimensions. Although the full four-dimensional "depth" of
- the hyperobject's geometry cannot be totally conveyed this way in
- a single image, it is possible by generating sequences of such
- images - each corresponding to a different orientation of the
- hyperobject in four-dimensional space - to begin to comprehend
- the shape of the fourth dimension. Naturally, computers and the
- capabilities of computer graphics are ideally suited for use as
- tools in generating such images, and it is well within the powers
- of the typical personal computer equipped with a standard display
- device to serve as a research platform for the investigation of
- hyperspace.
-
-
- HYPERGEO Version 2.1 Page 2-1
-
-
-
-
- Section 2. From Hyperspace to the Video Screen
-
-
- When a computer is used to generate images derived from a
- four-dimensional hyperobject, two separate stages of geometric
- transformation must be performed. First, the four-dimensional
- object must be reduced to a particular three-dimensional image
- based on the object's orientation and position in hyperspace.
- Second, the resulting three-dimensional image must be represented
- on the flat, two-dimensional surface of the computer's display
- device. Because each of these transformations entails the loss
- of dimensional information, it is desirable to provide the
- computer user with as much control as possible over the manner in
- which the images are constructed and displayed.
-
-
- 2.1 From Four Dimensions to Three
-
- There are two basic approaches for generating a three-dimensional
- image from a four-dimensional object: projection and
- intersection. Each is highly analogous to the same technique
- applied to the reduction of a three-dimensional object to a flat,
- two-dimensional representation.
-
-
- 2.1.1 Projection
-
- Projection is the mathematically simpler of the two. It entails
- the construction of an imaginary "viewscreen" in hyperspace and
- the projection of each point in the hyperobject onto that
- viewscreen. The calculations are performed by considering the
- straight lines that run between each point in the hyperobject and
- a fixed four-dimensional viewpoint; the desired projection points
- are the intersections of these lines with the viewscreen. But
- because this is four-dimensional hyperspace, the viewscreen is
- itself a three-dimensional "hyperplane" (not just a simple
- two-dimensional plane), and the projection points all possess
- three dimensions. The positions of the viewpoint and viewscreen
- in hyperspace relative to the hyperobject determine the degree of
- "perspective" in the resulting three-dimensional image. (This
- process is entirely analogous to the projection of a 3-D object
- onto a flat 2-D viewscreen; in fact, just such a 3-D to 2-D
- projection is used subsequently to generate the final graphical
- output.)
-
- In a 4-D to 3-D projection, every point in the original
- hyperobject is always visible as a corresponding projected point
- in the 3-D image (although, of course, a point may from time to
- time happen to be hidden behind other points or lines). The
-
-
- HYPERGEO Version 2.1 Page 2-2
-
- overall 3-D image that results is a network of connected lines
- corresponding to the vertexes and edges of the 4-D hyperobject;
- it is not itself a simple 3-D polyhedron. The complexity of this
- network relates directly to the four-dimensional structure of the
- hyperobject.
-
-
- 2.1.2 Intersection
-
- The second approach for reducing a four-dimensional hyperobject
- to a three-dimensional image involves calculating the
- intersection of the hyperobject with a three-dimensional
- hyperplane. This can be thought of as cutting a "slice" through
- the hyperobject and viewing the resulting cross-section. But
- again, since for such 4-D to 3-D intersections the cutting
- instrument is a hyperplane, the object that is determined by the
- cut is three-dimensional and forms a simple 3-D polyhedron -
- assuming that the original 4-D hyperobject is itself simple and
- is externally convex. (The 3-D to 2-D analogy of this involves
- making a planar cut through the 3-D geometry and viewing the flat
- polygonal outline of the cross-section.)
-
- In a 4-D to 3-D intersection, the only portion of the hyperobject
- that contributes to the 3-D image is that lying exactly on the
- intersecting hyperplane; all the rest is lost and invisible. For
- this reason, an intersection can result in very minimal 3-D
- polyhedra such as pyramids and box shapes, even from a complex
- hyperobject. In fact, if the intersecting hyperplane is
- positioned (in hyperspace) entirely outside the extents of the
- hyperobject, the resulting 3-D image will be empty. It is
- generally most revealing to examine the sequence of intersections
- that result when the cutting hyperplane is gradually moved
- through the hyperobject, starting at one face or edge and working
- across to the opposite. By taking a number of such sequences for
- various orientations of the hyperobject in four-space, the user
- can achieve a sense of its "extradimensional" structure.
-
-
- 2.2 Direct Three-Dimensional Geometry Definition
-
- The primary function of the HYPERGEO program is the display and
- examination of the properties of four-dimensional geometrical
- objects. The program's input is normally expected to be a
- geometry specification that provides four coordinate values for
- each vertex point. All of the preceding discussion has been in
- terms of this basic scenario.
-
-
- HYPERGEO Version 2.1 Page 2-3
-
-
- However, the program will also accept geometry definitions of
- three-dimensional objects and will display them with all features
- available that relate to the 3-D level of processing. When used
- this way, the program bypasses the 4-D to 3-D image reduction
- steps described above, and uses the input geometry directly as
- the 3-D image definition. When the input geometry is
- three-dimensional, all of the program's commands that normally
- perform operations in four dimensions are deactivated while those
- commands and features that operate on the 3-D image and on its
- resultant 2-D representation are fully functional.
-
-
- 2.3 From Three Dimensions to Two
-
- All the options available in the HYPERGEO program for converting
- a three-dimensional image into a viewable two-dimensional picture
- on the computer's display are variations of the projection
- technique referred to above. Each 3-D point is projected onto a
- 2-D viewscreen by calculating where the line that runs between
- the 3-D point and a fixed 3-D viewpoint intersects the
- viewscreen. However, unlike the case for 4-D to 3-D projections,
- for 3-D to 2-D projections the viewscreen and viewpoint don't
- have to be invented; they correspond to the surface of the real
- display device and the eye of the (presumably real) viewer.
- Given this basic technique for projecting a 3-D image onto a flat
- screen, a great deal can be done to enhance the meaningfulness of
- the resulting 2-D picture. The following alternatives are
- available:
-
-
- * Perspective Projection
-
- A perspective projection is produced by performing a
- straightforward linear projection of the 3-D model onto the
- 2-D viewscreen using a realistic value for the distance
- between the viewpoint and the screen. It generates a
- wireframe representation that provides a measure of
- perspective which gives some sense of 3-D depth. This sense
- of depth perception is augmented by allowing the user to
- modify the apparent eye-to-screen distance, thus adjusting
- the amount of perspective in the picture.
-
- A perspective projection is the most basic form of 2-D image;
- all other imaging modes are enhanced variations of
- perspective projections.
-
-
- HYPERGEO Version 2.1 Page 2-4
-
-
-
- * Stereoscopic Projection (Anaglyph)
-
- This uses the wireframe representation of a simple
- perspective projection, but two separate images are generated
- corresponding to the projections as perceived by the right
- and left eye (the calculation of the projections takes into
- account the distance between the eyes). When the two images
- are displayed in contrasting colors (typically red and blue
- or red and green), they can be viewed through filtering "3D"
- glasses which cause each eye to see only the single image
- generated for its particular viewpoint. The brain perceives
- the image with full three-dimensional depth. Although
- wearing the colored glasses is somewhat cumbersome, this
- method produces far and away the most vivid and revealing
- impressions of the structure of the 3-D object.
-
- (The general technique of generating dual projections that
- correspond to each eye's separate view is known as
- "stereoscopic" projection. The particular method of
- stereoscopic viewing that uses different colors for the two
- projections with matching colored filters for the eyes is
- called an "anaglyph".)
-
-
- * Hidden-line Projection
-
- This approach begins with the wire-frame representation
- generated by a normal perspective projection. Additional
- calculations are performed that prevent the display of any
- edge lying behind a face of the 3-D object. This causes the
- object to appear opaque.
-
-
- * Surface Relief
-
- Surface relief display mode combines the features of a
- hidden-line projection with a stereoscopic anaglyph. Using
- "3D" colored glasses, the viewer perceives the image with
- full three-dimensional depth, but because of the hidden-line
- processing, only those edges visible on the forward surface
- of the object are displayed. The wireframe representation
- appears opaque, presenting a perceptually vivid sense of the
- shape of its surface relief.
-
-
- HYPERGEO Version 2.1 Page 2-5
-
-
-
- * Solid Projection
-
- A solid projection performs all the processing required by a
- hidden-line projection plus some additional calculations to
- determine the orientation of each visible face of the 3-D
- object. Rather than drawing the edge outlines of the object,
- the faces are filled in using either a density of fill
- pattern or a particular shade of color that corresponds to
- the obliqueness of the face as seen from a theoretical light
- source; faces that are most directly illuminated are filled
- the brightest. The result is a fairly realistic rendering of
- the 3-D object as solid.
-
- (Note: since hidden-line, surface relief, and solid
- projections require the 3-D object to be a simple polyhedron,
- they can only be used with 3-D images created by a 4-D
- intersection, not those created by 4-D projections.)
-
-
- HYPERGEO Version 2.1 Page 3-1
-
-
-
-
- Section 3. The HYPERGEO Program
-
-
- HYPERGEO is a program written for the IBM-PC and compatible
- computers running the PC-DOS or MS-DOS operating system. It
- requires about 320K bytes of free memory plus whatever is needed
- for the data requirements of the particular geometry currently
- active in the program. For most ordinary objects (including the
- basic hypercube) memory requirements are quite modest, but they
- can increase considerably for very large and complex geometries.
- The program does not use expanded or extended memory for database
- allocations, so the 640K DOS barrier is the absolute limiting
- factor on the size of geometries that can be handled.
-
- The program will generate graphical output for EGA, VGA, or
- Hercules display devices. It does not support CGA graphics. For
- Hercules (and optionally for the others) the graphics are
- monochrome, and the stereoscopic anaglyph display modes are
- unavailable. The performance of HYPERGEO is identical on EGA and
- VGA systems with the exception of one area in which the VGA's
- higher performance is utilized: the enhanced VGA color
- capabilities are used to provide superior solid surface
- rendering. No non-standard, so-called "super-VGA" display modes
- are supported in this version.
-
- HYPERGEO performs some floating-point calculations, and the speed
- of the program will be enhanced somewhat by the presence of a
- math coprocessor chip such as an 80287 or 80387. However, the
- bulk of the program's mathematical operations are performed using
- an integer based, fixed-point format of data representation, so a
- system lacking a math coprocessor will perform almost as well. A
- coprocessor will be most useful on 80286 (or lower) PCs; systems
- with an 80386 CPU can perform 32-bit integer arithmetic which
- allows the program's special fixed-point calculations to be
- executed about as fast as coprocessor-accelerated floating-point.
- If the system has a math coprocessor, HYPERGEO will detect its
- presence automatically and make use of it. All features are
- functional without a coprocessor, but performance may be a bit
- slower (especially on 80286s).
-
- If a mouse pointing device is on the system, it can be used to
- invoke the interactive rotation and translation commands and to
- select other commands via the program's menu (see below).
- However, a mouse is not required since all commands can be
- executed through keyboard entry. Only the left and right mouse
- buttons are used, so a two-button mouse is as good as a
- three-button mouse.
-
-
- HYPERGEO Version 2.1 Page 3-2
-
-
- The program will make use of a standard mouse driver if one has
- been installed. ("Drivers" are hardware device support programs
- that are run in background by DOS at system start up. They are
- typically "installed" by being specified in a DEVICE statement in
- the CONFIG.SYS file.) Most mice are supplied by their
- manufacturer with a standard mouse driver program, and the
- mouse's documentation will include directions for installing the
- driver. Other general-purpose mouse drivers - such as the one
- supplied with Microsoft Windows 3.x - are also standard and will
- enable proper use of the mouse by HYPERGEO.
-
- HYPERGEO also contains its own mouse support programming which
- permits the use of a Microsoft compatible mouse without any
- device driver. (Your system may be configured this way if it has
- a mouse which is used only by other applications which also
- contain their own internal device driver programming.) The mouse
- may be connected to either serial port, COM1 or COM2.
-
-
- 3.1 General Structure
-
- The HYPERGEO program accepts a description of the topology of a
- four-dimensional hyperobject. This description is contained in a
- "geometry definition file" which starts out as a plain text file
- that can be edited by the user. It contains coordinate
- information for each vertex point of the hyperobject plus
- connectivity information that indicates which vertexes are joined
- by edges. See Appendix A for a complete discussion of the format
- of this file.
-
- The text version of the geometry definition file is preprocessed
- into a more efficient binary form by the special utility program
- GEO2BIN. This program analyzes the topology and determines which
- edges form external faces and, in turn, which faces form external
- hyperfaces. GEO2BIN then writes the binary version of the
- geometry defintion into a new file which contains all the orginal
- vertex point and connectivity information plus the newly derived
- face and hyperface data. This binary file (which is not
- human-readable and cannot be edited) is what the main HYPERGEO
- program accepts as its primary input. See Appendix A for a
- fuller description of how to use the GEO2BIN utility.
-
- The program also accepts various parameters that control the
- manner in which the hyperobject is displayed. There are two ways
- in which these parameters are given to the program: through a
- special configuration file or as command-line arguments. (Note:
- There is not a complete correspondence between all possible
- configuration file parameters and all possible command-line
- arguments. Some parameters can be specified only in the
- configuration file and some only as command-line arguments.) See
- Appendix B for a full description of the format of the
-
-
- HYPERGEO Version 2.1 Page 3-3
-
-
- configuration file and Appendix C for a description of the
- available command-line arguments.
-
- A section of configuration parameters can also be appended to the
- end of a geometry definition file following all topology
- information; the format is the same as in the primary
- configuration file. In effect, this acts as a secondary
- extension to the configuration file which will apply only to that
- particular geometry file.
-
- The order of precedence for conflicting parameters is as follows.
- Command-line arguments take the highest precedence and will
- always override a corresponding parameter in the configuration
- file or in the geometry definition file. Also, configuration
- parameters contained in a geometry definition file take
- precedence over corresponding parameters in the primary
- configuration file. Finally, every parameter has a pre-defined
- default value which will be used in the absence of any
- specification via the configuration file or the command line.
- The default values for all parameters are listed in the
- appendixes.
-
- To summarize the order of precedence for the various avenues of
- parameter specification, they are, from highest to lowest:
-
- * Command line arguments
-
- * Configuration parameters in current geometry definition
- file
-
- * Configuration parameters in primary configuration file
-
- * Program's internal default values
-
- It should be noted that no configuration file or command-line
- arguments are absolutely required. The program will operate
- without them using reasonable default values.
-
- Once all geometry and configuration information has been read in
- and processed, the HYPERGEO program creates a display of the
- image of the hyperobject. At this point, the user has access to
- a set of commands which facilitate the interactive manipulation
- of the hyperobject's display. These interactive commands are
- described throughout subsequent sections of this document and are
- summarized in Appendix D.
-
-
- HYPERGEO Version 2.1 Page 3-4
-
-
-
- 3.2 The HYPERGEO Display Screen
-
- The screen displayed by the HYPERGEO program consists of two
- areas: the primary graphics area where the image of the
- geometrical object being examined is displayed, and an optional
- menu and mouse control pad area. The user may select whether or
- not to display the menu area. If it is not displayed, the
- primary graphics area is the entire screen. When the menu area
- is displayed, it occupies the right edge of the screen, and the
- primary graphics area fills the entire remaining screen.
-
- The menu area lists a number of display parameters that may be
- modified interactively by the user. It also contains a panel of
- command selection boxes that may be activated by the mouse to
- perform various manipulations of the object being displayed. A
- mouse is not required for the HYPERGEO program; all mouse
- functions may also be invoked through keyboard commands.
- However, the mouse does provide a more naturally intuitive
- feeling of control over the manipulation of the geometry being
- studied. The mouse functions are only available when the menu
- area is displayed. (All keyboard commands are always available
- regardless of whether the menu area is displayed or not.)
-
- The HYPERGEO program automatically scales and centers the
- geometry display within the primary graphics area. The user may
- subsequently modify the scale and position of the display as
- desired.
-
-
- 3.2.1 Color
-
- For systems with color EGA or VGA displays, the user has control
- over the colors used to draw the various components which
- comprise the overall graphical output. The colors are specified
- using statements in the configuration file and may be set to any
- one of the sixteen standard EGA colors (listed in Appendix B).
- In addition, the color used to draw the actual edge lines of the
- geometrical object itself can be modified interactively from
- within the HYPERGEO program. In the absence of any user
- specification, HYPERGEO uses a set of default colors which are
- believed to provide an attractive and comfortably viewable
- appearance (although, of course, such matters are subject to the
- contentiousness of individual tastes).
-
-
- HYPERGEO Version 2.1 Page 3-5
-
-
- There are eight separate components that together make up the
- total HYPERGEO display, and each can be assigned a different
- color:
-
- * Primary background
-
- This is the background color which covers the entire
- screen (including the optional menu area) before any
- graphics are drawn. It may be any color, but a dark
- shade such as black or the default dark gray is
- recommended for visibility. This is especially so when
- using the stereoscopic (anaglyph) display modes, which
- require a dark background to produce a good 3-D effect.
- (Black is probably the most vivid in this respect, but
- dark gray is a bit easier on the eyes for extended
- viewing.)
-
- Default: dark gray
-
- (Note: On many EGA displays the default "dark gray" tends
- to appear somewhat blue and not very dark; in this
- situation it is probably better to use black for the
- primary background. For VGA systems, HYPERGEO alters the
- definition of "dark gray" to a shade that is reliably
- both darker and grayer.)
-
-
- * Primary foreground
-
- This is the color used to draw the actual edge lines of
- the geometrical object as it is projected onto the
- computer's display screen. This color is also used for
- the transient data values displayed in the menu area and
- for most text appearing in the various dialog boxes.
- Naturally, the primary foreground color should give a
- good contrast with the primary background color.
-
- Default: white
-
-
- * Menu
-
- This color is used for drawing the outlines and fixed
- labels of the data items and the mouse control pad
- section in the menu area of the HYPERGEO program. It is
- also used for the display of the name of the geometry
- definition file which the user may select to have appear
- in the upper, left corner of the primary graphics area,
- and for the border color and background shading in dialog
- boxes.
-
- Default: yellow
-
-
- HYPERGEO Version 2.1 Page 3-6
-
-
-
- * Geometry axis vectors
-
- As the user rotates the geometrical object in hyperspace,
- the HYPERGEO program keeps track of the orientation of
- each of the axes of the object's original coordinate
- system. A projection onto 3-space of the unit vector
- drawn from the origin along each axis may optionally be
- displayed as part of the primary geometry graphics. This
- assists in visualizing the displacement of the original
- orientation of the object in all the dimensions of
- hyperspace.
-
- Default: cyan
-
-
- * Message window background
-
- This is the background color for all prompting and
- message dialog box windows.
-
- Default: brown
-
-
- * Help window background
-
- This is the background color used in the on-line help
- windows.
-
- Default: light gray
-
-
- * Help window text
-
- This is the color used for the text in the on-line help
- windows.
-
- Default: black
-
-
- * Hyperface highlighting
-
- For 4-D geometries the user may select to highlight the
- portion of the visible graphics that belongs to one
- particular hyperface in the original hyperobject. This
- is done by using a different color to display all edge
- lines belonging to the highlighted hyperface.
-
- Default: light magenta
-
-
- HYPERGEO Version 2.1 Page 3-7
-
-
- Color is also used in the surface rendering of the solid display
- mode, which may be used with images produced by 4-D
- intersections, but its use and configurability are complicated by
- the differing capabilities of EGA and VGA display devices. For
- EGA systems, the colors used for solid surface rendering are
- fixed by the program and are not modifiable by the user; these
- colors give an acceptable gradation of shades from light to dark
- and are not colors available in the sixteen standard EGA colors.
-
- For VGA, the program takes full advantage of the enhanced color
- capabilities of the display device, in particular its ability to
- generate over 256,000 discrete shades. HYPERGEO uses twelve
- variations - ranging from very light to very dark - of a single
- VGA color to produce the consistent shadings necessary for
- realistic solid surface rendering. (The program can also
- optionally make use of color "dithering" techniques - the
- pixel-by-pixel mixing of two different colors - to increase the
- effective number of discrete shades available for solid surface
- rendering to twenty-three.) The user can specify the base color
- (in terms of a VGA red/green/blue color definition) from which
- HYPERGEO will generate the twelve graduated shadings. For
- systems with a mouse, this base shade may be interactively
- modified using a color selection dialog box.
-
- For either EGA or VGA, the user may select not to use color for
- solid surface rendering, but to instead use variable pattern
- fill, which just uses the primary foreground color. Variable
- pattern fill is always used on monochrome systems.
-
- Several other HYPERGEO features make special use of color, but in
- general these colors do not accept any modification from the
- user. The stereoscopic anaglyph display modes use two shades of
- red and blue. However, these colors are fixed by the
- requirements of the "3D" viewing glasses and are not modifiable
- by the user. Also, the W-coordinate spectrum banding feature
- uses a spectrum of ten colors to indicate the W-coordinate value
- of edges displayed in 4-D projections and intersections. Again,
- however, these color values are determined by the program
- requirements and may not be respecified.
-
-
- 3.2.2 On-line Help
-
- On-line help is available whenever the primary graphics are
- visible and interactive editing is available within the HYPERGEO
- program. The help system is entered by typing F1. All help
- information exists in a set of screens or pages, each
- corresponding to a group of related commands. The commands are
- listed according to the keystroke that executes them along with a
- brief description of their function and usage.
-
-
- HYPERGEO Version 2.1 Page 3-8
-
-
- There is one main, top-level help page which gives an overview of
- all HYPERGEO interactive commands and presents a menu listing the
- separate lower-level help pages. This main page is what first
- appears when the help system is invoked via the F1 key. The user
- then selects a particular page by typing its number. While in
- the help system, typing F1 always returns to the main help menu,
- and typing any valid help page number always brings up that
- individual page. To leave the help system and return to the
- HYPERGEO display type <Esc>; this restores the screen to its
- previous state.
-
-
- 3.2.3 Dialog Boxes
-
- Some of the interactive commands will prompt for additional user
- input (such as a numeric value, a color name, or a file name).
- This is done using an interactive window known as a "dialog box"
- which pops up in the middle of the primary graphics area. There
- are several different types of dialog box used by HYPERGEO
- depending on the context of the command. They can be divided
- into two major categories: those which request data to be entered
- or selected by the user, and those which merely display an
- informational message.
-
- All dialog boxes remain visible on the screen until they are
- actively dismissed by the user; this can be done by using the
- mouse to select the "Ok" button that appears at the bottom of the
- dialog box. For those types of dialog box that request user
- input, selecting "Ok" tells the program to accept the input as
- specified and to go ahead and execute the command. Dialog boxes
- that just display a message have only this single "Ok" button; it
- should be selected once the user has read and understood the
- box's contents. Dialog boxes that request input have a "Cancel"
- button in addition to the "Ok" button; selecting "Cancel" tells
- the program to disregard any input the user may have entered in
- the dialog box and to cancel the command and dismiss the dialog
- box's window.
-
- Note: For all mouse selections within HYPERGEO dialog boxes
- either the left or the right mouse button can be used; they are
- equivalent. Also, whenever a dialog box is active, the mouse
- cursor changes to a hand icon with a pointing finger.
-
- Typing <Enter> when a dialog box is active selects the "Ok"
- button, and typing <Esc> selects the "Cancel" button. These
- keyboard equivalents can be used to perform dialog box functions
- on systems without a mouse.
-
-
- HYPERGEO Version 2.1 Page 3-9
-
-
- Dialog boxes that merely contain information are used whenever an
- error condition (such as invalid command input) must be reported.
- No user input is asked for; the window serves only to convey a
- message. Once it has been read, the user may dismiss the window
- by selecting the "Ok" button with the mouse (or by pressing
- <Enter> or <Esc>).
-
- One special instance of a message dialog box is the HYPERGEO
- Information Window. This window contains some basic data
- describing the geometry and topology of the currently active
- object, and it also contains the HYPERGEO copyright statement.
- By default, the Information Window is displayed automatically
- upon the initial start-up of the program and every time a new
- geometry definition is read in (although the program may be
- configured to bypass this). An interactive command exists to
- display the Information Window at any time during normal
- operation of the HYPERGEO program. The Information Window is a
- normal message dialog box and may be dismissed by selecting the
- "Ok" button with the mouse (or by pressing <Enter> or <Esc>).
-
- Dialog boxes that request user input are one of the following
- special types:
-
- * Generic text
-
- * File selection
-
- * Color selection
-
- * List selection
-
- * Action approval (yes/no)
-
-
- 3.2.3.1 Generic Text Dialog Boxes
-
- A number of HYPERGEO's interactive commands require the user to
- type in a string of text. Typically, this type of entry is used
- to specify a numeric value (or possibly a sequence of two or more
- values) to be assigned to a display parameter. The text dialog
- box contains a title bar identifying its function and, below it,
- an area in which appears the text entered by the user. A special
- cursor symbol is visible in this type-in area indicating the
- point at which the next entered character will appear. The arrow
- keys may be used to move the cursor, and the standard
- line-editing keys such as <Delete>, <Backspace>, <Home>, and
- <End> are also functional. The special sequence Ctrl-U can be
- used to completely clear the contents of the type-in area and
- move the cursor to the first character position.
-
-
- HYPERGEO Version 2.1 Page 3-10
-
-
- The user should type in the appropriate value which will appear
- in the data input area, and should terminate the entry by
- selecting the "Ok" button with the mouse (or by pressing
- <Enter>); this indicates that the entry is complete and correct
- and initiates the particular command. Selecting "Cancel" (or
- pressing <Esc>) at any time while a text dialog box is displayed
- will dismiss the dialog box and cancel the command.
-
-
- 3.2.3.2 File Selection Dialog Boxes
-
- HYPERGEO command functions that require the specification of a
- file name make use of the special file selection dialog box.
- There are currently two such commands: the New Geometry
- Definition File command (keystroke 'F'), and the Journal File
- Replay command (keystroke 'J').
-
- The file selection dialog box has all of the features of a
- generic text dialog box plus a large sub-window in which a list
- of available file names is displayed, sorted in alphanumeric
- order. The sub-window has a scroll-bar along its right edge
- which can be used to move the list of file names up and down in
- the sub-window if the list is too long to be visible all at once.
- The user chooses a particular file name from the list by
- selecting its name in the sub-window with the mouse.
-
- When a file selection dialog box first pops-up, the text area
- contains a wild-card specification based on the default extension
- for the type of file required by the particular command. For
- example, for the Journal File Replay command, the wild-card *.JNL
- is used. All files that satisfy the wild-card specification will
- be listed in the sub-window, with no individual file name
- highlighted as being selected. Until a particular file is
- selected, the dialog box's "Ok" button is blanked out. Once a
- file name is selected, its name will appear in the text type-in
- area which is just above the list sub-window. The "Ok" button is
- then active and may be selected with the mouse thus confirming
- the name appearing in the text window as the file to be used by
- the command. (By double-clicking on a file name, the "Ok" button
- is immediately selected, confirming the file name and causing the
- HYPERGEO command to be performed on that file.)
-
- The text window in a file selection dialog box may also be used
- like a generic text input box, and a file name may be typed into
- it directly. To do this, it is first necessary to activate the
- type-in cursor by positioning the mouse in the type-in area and
- clicking the left or right mouse button.
-
-
- HYPERGEO Version 2.1 Page 3-11
-
-
- It is also possible to enter a new wild-card specification by
- typing it into the text type-in area. This feature can be used
- to change the directory in which the command looks for its file
- (the default is always the current directory in which HYPERGEO
- was executed). For example, with the Journal File Replay
- command, the initial default wild-card is *.JNL; this will list
- all files with extension .JNL in the current directory. By
- positioning the cursor to the left of the '*' character and
- typing in its full DOS path specification preceding the *.JNL
- wild-card, the user can access a list of all .JNL files in
- another alternative directory.
-
- Within a file selection dialog box the <Enter> and <Esc> keys
- have dual uses depending on whether or not there is an active
- type-in cursor. When the type-in cursor is active and visible in
- the text area, the <Enter> key terminates the type-in and makes
- it the current selected item. If it is a wild-card
- specification, the contents of the main list sub-window are
- changed to reflect its expansion. When the type-in cursor is not
- active, the <Enter> key has its normal dialog box function of
- selecting the "Ok" button. Similarly, for the <Esc> key, when
- there is no active type-in cursor, its function is the normal
- dialog box selection of the "Cancel" button. When there is a
- type-in cursor visible in the text area, <Esc> causes all typed
- in changes to the text in that area to be discarded; the text
- area contents revert back to what they were before the type-in
- cursor was activated, and the cursor is deactivated.
-
- The scroll-bar has various active areas which can be selected
- with the mouse to adjust the position of the list of file names
- in the main sub-window. Selecting the up (or down) button at the
- top (or bottom) of the scroll bar causes the list to move up (or
- down) one line. Selecting the slider button and moving it up or
- down while keeping the mouse button pressed scrolls the list
- dynamically in step with the motion of the slider. Pressing a
- mouse button while the mouse cursor is in the scroll-bar slide
- area above or below the slider button scrolls the list up or down
- by an amount equal to the number of lines visible in the list
- sub-window.
-
- Most of the file selection dialog box functions have keyboard
- equivalents, and this enables the use of the dialog box on
- systems without a mouse. The type-in cursor can be activated in
- the text area by typing <Tab>. The up and down arrow keys
- perform the single-line up and down scrolling functions, and Page
- Up and Page Down perform multi-line scrolling. <Home> and <End>
- scroll the list all the way to the top or bottom respectively.
- Typing an alphanumeric character scrolls the file list so that
- those names beginning with the typed character appear at the top
- of the main sub-window. To select a particular file, scroll the
- list of file names until the desired one is at the top of the
-
-
- HYPERGEO Version 2.1 Page 3-12
-
-
- list sub-window and type <Space>. And as with all dialog boxes,
- <Enter> corresponds to the "Ok" button (assuming the type-in
- cursor is not active), and <Esc> selects "Cancel" (again,
- assuming no type-in cursor).
-
-
- 3.2.3.3 Color Selection Dialog Box
-
- The color selection dialog box is used by the interactive color
- command when invoked to modify the shades used for solid surface
- rendering of an object. It permits the precise specification of
- the base color to be used for generating the solid fill shades
- through the setting of its constituent red, green, and blue
- components. Since only VGA displays have the capacity to display
- the full range of available colors, the color selection dialog
- box is only available on VGA-equipped systems. In addition, a
- mouse must be present to use this type of dialog box (all of the
- other types of dialog box used in HYPERGEO may be operated with
- keyboard equivalents to the mouse). If a system with VGA
- graphics has no mouse, a generic text dialog box will appear
- requesting the specification of the new color via the direct
- entry of three numeric values which are the respective
- intensities of the color's red, green, and blue components.
-
- The color selection dialog box has a main sub-window in which
- three "thermometer" controls appear, one for each of the three
- primary colors. At the base of each control is an active button
- area which is divided into two halves, one marked '+' and the
- other '-'. Selecting the '+' area with the mouse increases the
- intensity value of that control's color, and selecting '-'
- decreases it. The indicator of each thermometer control moves to
- show the current value of its color as it is adjusted between
- zero and the maximum.
-
- Above the control sub-window is a color panel area which displays
- the actual color corresponding to the composite of the red, green
- and blue components. As the controls are manipulated to change
- the intensities of the three primaries, the color visible in the
- panel continuously changes to show the resulting composite.
-
- Once the color has been adjusted to the desired shade, it may be
- confirmed by selecting the dialog box's "Ok" button (or typing
- <Enter>). This executes the interactive color command and
- modifies the display palette used for solid surface rendering
- based on the calculated shades derived from the new base color.
- Alternatively, by selecting "Cancel" (or typing <Esc>), the user
- can choose not to modify the current palette of solid fill
- shades.
-
-
- HYPERGEO Version 2.1 Page 3-13
-
-
- 3.2.3.4 List Selection Dialog Box
-
- In a number of interactive commands available in HYPERGEO the
- user needs to select one from a list of several possible
- alternatives. For example, the interactive command to change the
- display mode can potentially choose any one of five
- possibilities: Perspective, Stereoscopic Anaglyph, Hidden-line,
- Surface Relief, and Solid Surface Rendering. Commands such as
- this one that present a choice from a fixed set of options make
- use of the list selection dialog box.
-
- A list selection dialog box contains a "ballot" sub-window in
- which each of the selectable options appears on a single line.
- Each option is identified by a key word or two that appears next
- to an active selection button. A particular option is chosen by
- selecting its button with the mouse. When an option is selected,
- its button area is marked with an 'X'. When the dialog box first
- pops up, the option corresponding to the current state of
- HYPERGEO is marked as selected. Depending on the context of the
- particular command and possible interdependencies among elements
- of the HYPERGEO environment, not all options may be available at
- all times. Those options that are invalid during a particular
- command invocation are grayed out in the ballot sub-window of the
- dialog box, and their buttons are inactive for mouse selection.
- (As an example of this, not all five of the display modes listed
- above are available on monochrome systems or when a
- four-dimensional hyperobject is being viewed using a 4-D to 3-D
- projection.)
-
- Once a desired option has been selected in the dialog box, it may
- be confirmed by selecting "Ok" with the mouse (or typing
- <Enter>). Selecting "Cancel" (or typing <Esc>) leaves the
- HYPERGEO parameter or mode unchanged.
-
- Keyboard equivalents are available that enable the selection of
- list options without the use of a mouse. The up and down arrow
- keys move the selection up or down one line in the ballot area.
- <Home> and <End> are used to select the option at either the top
- or the bottom of the list.
-
-
- 3.2.3.5 Action Approval Dialog Box
-
- This type of dialog box doesn't really request any input from the
- user other than choosing between the "Ok" and the "Cancel"
- buttons. There is no text type-in or other interactive
- sub-window area. The title bar of the dialog box describes an
- action which the HYPERGEO program will tentatively take, and the
- user should select either the "Ok" button to accept the action or
- the "Cancel" button to cancel it. The prime example of the
- application of this type of dialog box is the Quit command
- (keystroke 'Q') which does not actually quit HYPERGEO and go back
- to DOS unless the user confirms it.
-
-
- HYPERGEO Version 2.1 Page 3-14
-
-
- As always, typing <Enter> is equivalent to selecting "Ok", and
- typing <Esc> is equivalent to selecting "Cancel".
-
- 3.3 Geometry Manipulations
-
- Central to the operation of the HYPERGEO program is the ability
- to interact with the geometry as it is being displayed and to
- have the picture on the screen respond to the user's directions.
- It is just this ability to manually manipulate the hyperobject in
- all four dimensions of hyperspace that creates a sense of
- "hands-on" control and establishes an intuitive feel for the
- extradimensional shape of the hyperobject.
-
- In light of the two-stage process required to capture an image of
- a four-dimensional geometrical object on a two-dimensional
- computer display screen (first, 4-D to 3-D reduction, and second,
- 3-D to 2-D projection), HYPERGEO provides interactive functions
- to manipulate the geometry both in its original hyperspace
- configuration (in 4-space) and in its reduced three-dimensional
- representation (in 3-space).
-
- A word or two is needed here on the subject of coordinate
- systems. The HYPERGEO program uses the letters X, Y, Z, and W to
- label the four coordinates in hyperspace. Wherever ordering is
- significant (as, for example, in the specification of coordinates
- within a geometry definition file), the order is (X,Y,Z,W). As
- is conventional with computer graphics, three-dimensional
- coordinate systems are "left-handed"; thus, the positive Z-axis
- points away from the viewer and into the screen.
-
-
- 3.3.1 Rotations
-
- The primary method of examining an object is to turn it about to
- view it from many different angles. In this manner, it becomes
- possible to discover the overall nature of something which - for
- whatever reason - is not immediately accessible in its entirety
- to our perceptions. In the HYPERGEO program, rotations in all
- possible directions are available through interactive commands,
- and it is possible to position the geometry in whatever
- orientation is desired.
-
- Rotations can be performed either on the 4-D geometry before it
- is reduced to a 3-D image, or on the 3-D geometry of the reduced
- image itself. The effect of the two classes of rotation is
- different, not only because of how they are handled by the
- HYPERGEO program, but also because of fundamental differences
- between the structure of 3-space and that of 4-space.
-
-
- HYPERGEO Version 2.1 Page 3-15
-
-
- In our familiar 3-space, rotations are performed about an "axis"
- which is a straight line in space. The rotation leaves all
- points on the axis unchanged while all other points in 3-space
- move in circles that are centered on the axis and that lie in a
- plane perpendicular to the axis. However, in 4-space, there are
- an infinite number of lines that pass through a given point on a
- plane and that are perpendicular to the plane. Thus when a
- hyperobject is rotated so that the points in a particular plane
- move in circles about a fixed point on the plane, it is not
- correct to say that the rotation takes place around an axis. It
- is most meaningful to our three-dimensional minds to think of 4-D
- rotations as being "on" or "of" a particular plane rather than
- being "around" anything. (Actually, rotations in hyperspace take
- place around a plane in the sense that for any given direction of
- hyperspatial rotation there is a plane on which no points move,
- namely, the plane determined by any two distinct lines
- perpendicular to the rotating plane and passing through the
- rotational centerpoint on it. This is virtually impossible to
- picture for our 3-D brains, so it is simpler to refer to such
- rotations in terms of the plane which is being rotated.)
-
- Any particular spatial orientation can be reached by performing
- an appropriate sequence of rotations of the planes determined by
- pair-wise combinations of the space's coordinate lines. In our
- 3-space there are three such planes: the XY-plane, the XZ-plane,
- and the YZ-plane. In hyperspace, which has four orthogonal
- coordinate axes, there are six planes that form the basis for all
- rotations: XY, XZ, XW, YZ, YW, and ZW. (In 3-space the rotations
- are normally referred to by the name of the axis around which the
- rotation occurs rather than the plane of the rotation.) HYPERGEO
- has interactive commands for performing rotations of all nine
- planes. For all HYPERGEO rotations, the coordinate system's
- origin is always the centerpoint; thus the origin is never moved
- by any rotation. (Note: the configuration file accepts a
- parameter, ORIGIN, for repositioning the origin within the
- original geometry; this in turn has the effect of locating the
- center of all rotations at any desired point in hyperspace.)
-
- All rotations in HYPERGEO are in incremental steps of the current
- Turn Angle. The value of the Turn Angle can be set by the user
- in the configuration file, and it can also be modified
- interactively at any time. Its current setting in degrees is
- displayed in the menu area. The Turn Angle can be set to a large
- number of degrees (say, 30 or 45) for rapid rotations of the
- object, and then reduced to a smaller value for fine positioning.
- Interactive commands exist for rotating the object one
- incremental step, through either a positive or negative Turn
- Angle, within any one of the three 3-D and six 4-D base
- rotational planes. Also, there are commands for automating any
- one of the possible modes of rotation; in these automated modes
- HYPERGEO continues to perform incremental rotations in the
- specified direction as rapidly as the computer's processing speed
- will allow.
-
-
- HYPERGEO Version 2.1 Page 3-16
-
-
- The HYPERGEO program provides two features to assist the user in
- keeping track of the orientation of the active object in
- hyperspace as it undergoes various rotations. First, there is
- the ability to display the projected image of all four unit
- vectors emanating from the origin along the four hyperspace
- coordinate axes. This provides good visual feedback of how the
- object is turning in hyperspace. Second, the menu area contains
- data fields that display the angular displacement of each
- coordinate axis from its initial, unrotated position. These
- displacement angles can vary from 0 degrees (when the axis is
- coincident with its initial alignment) to 180 degrees (indicating
- that it has been rotated to point in the completely opposite
- direction).
-
- It is important to understand how four-dimensional rotations of
- the hyperobject in hyperspace differ from three-dimensional
- rotations of the reduced image in normal 3-space. The critical
- point is that rotations in 4-space affect the shape and structure
- of the reduced 3-D image and do not necessarily produce directly
- equivalent rotations of that 3-D image. Rotations in 3-space, on
- the other hand, are performed after the 4-D to 3-D reduction, and
- they always directly rotate the 3-D image; they never alter its
- shape.
-
- To clarify this, consider what is going on as the hyperobject is
- turned in hyperspace. If the program is using 4-D to 3-D
- intersection mode, the slicing hyperplane will pass through
- varying cross-sections of the object, and these cross-sections
- will be three-dimensional polyhedra of varying topologies. The
- 3-D polyhedra themselves will not necessarily rotate. For the
- projection mode of 4-D to 3-D reduction, rotations of the
- hyperobject will have the effect of altering the pattern of the
- network of connected edges that is projected into 3-space, but
- the motion of the network will not be any simple
- three-dimensional rotation.
-
- This distinction - that 4-D rotations alter the shape and
- structure of the reduced 3-D image, while 3-D rotations rotate
- the image - while generally true, is, alas, not the whole story.
- Four-dimensional rotations behave differently depending on
- whether or not the plane of the rotation contains the W-axis.
- This is due to the fact that in HYPERGEO the W-dimension is the
- one in which 4-D to 3-D image reductions take place: 4-D to 3-D
- intersections always occur along a hyperplane that is defined by
- a constant W value, and 4-D to 3-D projections always are
- performed onto a hyperplane that is similarly defined by a
- constant W value. For this reason, rotations that occur on
- planes that do not contain the W-axis do not alter the shape of
- the resulting 3-D image (because they do not modify the
- W-coordinate of any points in the hyperobject). Instead, they
- behave like 3-D rotations of the corresponding plane (for
- example, a 4-D rotation of the XY-plane has the same effect as a
-
-
- HYPERGEO Version 2.1 Page 3-17
-
- 3-D rotation around the Z-axis). The net outcome of all this is
- that the 4-D rotations of the XY, XZ, and YZ-planes look like
- simple 3-D rotations and have the same effect on the appearance
- of the object's display in HYPERGEO as 3-D rotations around the
- Z, Y, and X-axes, respectively. The other three 4-D rotations
- (that is, of the XW, YW, and ZW-planes) do alter the 3-D image's
- shape and do not resemble any simple 3-D rotations.
-
- One final point is needed to complete this discussion of
- rotations. Although 4-D rotations of the XY, XZ, and YZ-planes
- look the same as 3-D rotations around the Z, Y, and X-axes, they
- are not treated the same by the HYPERGEO program. The 4-D
- rotations permanently alter the orientation of the hyperobject in
- 4-space as that orientation is calculated and remembered by the
- program; they are cumulative in the sense that each subsequent
- 4-D rotation takes as its initial starting point the orientation
- arrived at by the previous 4-D rotation. 3-D rotations, on the
- other hand, do not permanently modify the four-dimensional
- orientation of the hyperobject; rather, they serve as temporary
- repositionings of the current 3-D image in 3-space. For this
- reason, 3-D rotations are most useful as a means of examining the
- shape of the current 3-D image expressly without altering the 4-D
- orientation of the hyperobject that produced that image. A 4-D
- rotation performed following a sequence of 3-D rotations reverts
- back to the most recent 4-D orientation for its starting position
- since that is the permanent orientation remembered by HYPERGEO.
- The transient 3-D rotations of the reduced image are lost and
- forgotten. (It is worth noting that although the 4-D rotations
- may look like 3-D rotations, they involve the additional
- computational effort of updating the permanent 4-D database and
- thus are noticeably slower.)
-
- This functional distinction between 4-D and 3-D rotations is
- reflected in the way HYPERGEO reports the hyperobject's
- orientation. In particular, the axis displacement angles
- (displayed in the menu area) and the axis vectors (displayed in
- the primary graphics area) are only affected by 4-D rotations.
- During temporary, 3-D rotations, they remain unchanged and
- continue to indicate the permanent 4-D orientation from which the
- next 4-D rotation will proceed.
-
- (Note that the above comment does not apply when the input
- geometry definition is a three-dimensional object rather than a
- 4-D hyperobject. For three-dimensional geometries the program
- treats all 3-D rotations as permanent modifications to the
- object's database; the displayed axis angle displacements and the
- unit axis vectors are changed upon 3-D rotations.)
-
- In addition to the commands which perform incremental rotations
- in any of the possible directions, HYPERGEO also has two methods
- for placing the current geometry directly in a particular
- orientation. These are discussed in the following two sections.
-
-
- HYPERGEO Version 2.1 Page 3-18
-
-
-
- 3.3.1.1 Orthogonal Orientations
-
- An orthogonal orientation is one in which all of the coordinate
- axes have been rotated an integral multiple of 90 degrees from
- their original positions. Such orientations permit viewing the
- object in a direction which is exactly perpendicular to one of
- the planes formed by a pair of coordinate axes. The HYPERGEO
- program provides interactive commands for generating all of the
- unique orthogonal orientations that are possible for both 3-D and
- 4-D geometries.
-
- In three-dimensional space there are three distinct orthogonal
- orientations; these correspond to viewing directions from the
- front, side, and top. Each of the three orientations is directed
- perpendicularly to one of the three 3-D coordinate axis planes.
-
- In four-dimensional space things are, of course, more
- complicated. Recall that for 4-D there are a total of six
- different pairs of coordinate axes that each form a distinct
- plane (these are the six planes about which the various
- incremental 4-D rotations are performed). Thus, there are at
- least six different orthogonal orientations, each derived from a
- view that is perpendicular onto one of the six coordinate planes.
- However, this is not the entire story. In four-space for each
- orientation perpendicular to a coordinate plane, the plane
- determined by the other two coordinate axes can rotate
- independently. In fact, it can be rotated so that its two
- coordinate axes are themselves positioned orthogonally along the
- two remaining coordinate directions in two different ways. This
- additional degree of freedom means that there are two different
- orientations based on each of the six possible base coordinate
- planes. This gives a total of twelve distinct orthogonal
- orientations for four-dimensional geometries.
-
- For geometries that represent regular polyhedra that are
- symmetrical about all rotations, all orthogonal orientations will
- produce an identical view. This is true for all of the regular
- 3-D polyhedra and 4-D polytopes that are provided with HYPERGEO.
- However, for shapes that possess asymmetries, the ability to view
- the object from all of the possible orthogonal directions
- provides an excellent way to see how the structure is arranged
- throughout all dimensions.
-
- For 4-D geometries, it is particularly interesting to examine
- orientations which position each of the four axes in turn in the
- direction of the original W-coordinate axis. Because the
- mechanisms for performing 4-D to 3-D image reductions operate
- along the W-axis, using the orthogonal orientations this way
- enables the resulting projections and intersections to reveal all
- of the hypergeometrical structure of the object.
-
-
- HYPERGEO Version 2.1 Page 3-19
-
-
-
- 3.3.1.2 The Locate Function for Rotations
-
- An interactive command permits specifying the orientation of the
- current object in terms of the three (for 3-D) or four (for 4-D)
- axis angles. These are the spatial angular displacements of each
- of the coordinate axes from their original unrotated positions.
- (The axis angles are displayed in the HYPERGEO menu area under
- the label AXIS ANG.) This command effectively permits placing
- the object at any precise orientation that is physically
- possible.
-
- For three-dimensional geometries, the user can specify any three
- angles that form a possible 3-D orientation. Each set of three
- axis angles determines a unique orientation in three-space.
-
- For four-dimensional objects the command operates in a similar
- manner, but there are some limitations. First, at least one of
- the specified angles must be zero. And second, most sets of axis
- angles do not correspond to a single orientation, but rather have
- multiple solutions. (This is due to the fact that the axis angles
- indicate only the magnitude of the displacement from the original
- axis and not its direction; thus the problem is mathematically
- underdetermined.) When this is the case, the program arbitrarily
- selects one particular orientation from among all of the valid
- possibilities.
-
-
- 3.3.2 Translation of the Intersecting Hyperplane
-
- For the intersection mode of 4-D to 3-D reductions, the program
- calculates the three-dimensional intersection of the hyperobject
- with a hyperplane that is defined by the equation, w = k, that
- is, having a constant W coordinate value. (In four dimensions, a
- linear equation of the four coordinate variables, Ax + By + Cz +
- Dw = E, defines a hyperplane. A hyperplane can perhaps best be
- envisioned as a normal three-dimensional space that is situated
- in hyperspace and has zero extent into the fourth dimension. Our
- universe at any given instant can be considered a hyperplane in
- four-dimensional space-time.) The shape of this intersection can
- be varied by rotating the hyperobject; this approach has been
- discussed in the above section on rotations. However, the
- intersection can also be modified by moving the hyperplane
- through hyperspace, in particular, by moving it along the W-axis
- by altering the value for 'k' in the hyperplane's equation. The
- HYPERGEO program provides interactive commands for performing
- such a translation of the intersecting hyperplane. (It should be
- emphasized that the position of the intersecting hyperplane only
- has an effect in the intersection mode of 4-D geometry reduction;
- it is irrelevant when using projection mode.)
-
-
- HYPERGEO Version 2.1 Page 3-20
-
-
- Two parameters relate to the interactive translation of the
- intersecting hyperplane: the current W value of the hyperplane's
- equation, and the amount by which that value will be incremented
- (or decremented) for each translation of the hyperplane. The
- first of these values is displayed in the HYPERGEO menu area as
- the W-INTER parameter, and the second is referred to as the
- delta-W value. An interactive command exists that increments the
- W-INTER value by the delta-W value and updates the HYPERGEO
- display accordingly. Another command serves to decrement the W
- value and thus move the intersecting hyperplane in the reverse
- direction. In addition, both parameters may be explicitly set to
- any desired numeric value using other interactive functions. The
- initial values of the W-INTER and delta-W parameters may also be
- set in the HYPERGEO configuration file. If W-INTER is not
- specified by the user in the configuration file, its default
- value is calculated as the average of the minimum and maximum W
- values for the active geometrical object thus centering the
- intersecting hyperplane within the geometry.
-
- Translation of the intersecting hyperplane is most revealing when
- it proceeds from one edge or face of the hyperobject, through its
- entire body, and on to the opposite side. A feature exists which
- automates just such a traversal of the hyperplane. It
- continuously increments the W value until the body of the
- hyperobject is exited. The direction of translation is then
- reversed and the W value is continuously decremented until the
- opposite side of the hyperobject is reached. The direction of
- translation continues to be reversed at each extreme so that the
- hyperplane passes back and forth (in hyperspace) through the
- entire body of the hyperobject. Performing such passes upon
- varying orientations of the hyperobject in hyperspace provides an
- excellent method for acquiring a sense of its four-dimensional
- shape. (Note: the effective speed of the hyperplane's motion
- along the W-axis can be adjusted by setting the delta-W value
- appropriately.)
-
-
- 3.3.3 Moving the Viewpoint for 4-D Projections
-
- As described in a previous section, for the second primary method
- of reducing a 4-D hyperobject to a 3-D image, namely, a 4-D to
- 3-D projection, a theoretical viewscreen is set up
- (mathematically) in hyperspace and the hyperobject is projected
- onto it as seen from a theoretical viewpoint. (Recall that
- because the "viewscreen" is actually a three-dimensional
- hyperplane, the resulting image is also three-dimensional.) To
- provide enhanced control over this projection, an interactive
- command exists to modify the position of the theoretical
- viewpoint. This allows the user to adjust through a wide range
- the level of perceived perspective evident in the resulting 3-D
- image.
-
-
- HYPERGEO Version 2.1 Page 3-21
-
-
- It should be noted that the position of the projection viewpoint
- only has meaning for images that are generated as 4-D to 3-D
- projections; it is irrelevant for 4-D to 3-D intersection images.
-
- The nature of the projection calculations restricts the viewpoint
- to the positive W-axis. This is due to the way in which the
- hyperplane which is the theoretical viewscreen is located at a
- fixed position and orientation in hyperspace. In particular, the
- viewscreen hyperplane is defined by the equation
-
- w = 0.5R
-
- where 'R' is the "radius" of the hyperobject. This places the
- viewscreen parallel to the XYZ-hyperplane and intersecting the
- positive W-axis at a distance 0.5R from the origin.
-
- The user can specify the projection viewpoint to be located
- anywhere along the positive W-axis within a large range of
- coordinate values. The program does, however, automatically
- prevent the viewpoint distance from assuming a value that is
- either too small or too large. This is done to prevent possible
- numeric errors in the calculation of the reduced image that uses
- the viewpoint coordinate.
-
- When the viewpoint is positioned towards the low end of its
- range, the degree of perspective in the calculated 3-D image is
- greatest. The perspective becomes less as the viewpoint moves
- away from the hyperobject and from the viewscreen along the
- W-axis. For the largest values of this distance, the apparent
- perspective is minimal, and the image closely approximates that
- of a pure orthographic projection.
-
- The position of the 4-D projection viewpoint is displayed as a
- parameter in the HYPERGEO menu area under the label W-PROJ. It
- appears as a numeric value in the units of the geometry
- definition. This value is the W-coordinate of the viewpoint.
-
- Interactive commands exist which allow incrementally increasing
- or decreasing the W-PROJ parameter by 10% of its current value.
- Additional commands set the W-PROJ parameter directly to either
- its maximum or minimum permissable value; this has the effect of
- selecting either orthographic or perspective projection. The
- parameter can also be set interactively to any specific
- intermediate value within its range, and it may be assigned a new
- default value in the HYPERGEO configuration file. (The program's
- own default value for W-PROJ is two times the radius of the
- hyperobject; this is close to the minimal permissable value and
- creates 4-D to 3-D projection images with a considerable degree
- of perspective.)
-
-
- HYPERGEO Version 2.1 Page 3-22
-
-
-
- 3.3.4 Translation of Individual Vertexes
-
- As described above, rotating a hyperobject is the primary means
- of examining its structure in HYPERGEO, and the user interface
- presented upon entry to the program provides access to the
- various commands for performing such rotations. However, an
- alternative state of the user interface is available which
- presents commands that can be invoked to perform the temporary
- translation of a selected vertex of the hyperobject and to
- observe how the translation of an object's vertex in hyperspace
- affects the shape and structure of the corresponding 3-D image.
- The selected vertex can be moved in either direction along any
- one of the four 4-D coordinates.
-
- An important point needs to be made concerning the non-permanent
- nature of vertex translations. HYPERGEO maintains an internal
- database which contains information on the structure of the
- current hyperobject. In particular, this database contains
- information recording all faces and hyperfaces of the hyperobject
- in terms of the vertex points and connecting edges that comprise
- them. When a single vertex point is moved arbitrarily in
- hyperspace, it will in all likelihood no longer be located
- exactly on any face planes or hyperface hyperplanes to which it
- actually belongs, and this has the potential for distorting the
- mathematical correctness of any geometrical calculations carried
- out in generating the displayed image. The upshot of all this is
- that the translation of a vertex is always treated as a small and
- temporary local perturbation of the overall geometry. HYPERGEO
- remembers the original (true) position of the vertex, and this
- position is always automatically restored as soon as any command
- is invoked that may entail a permanent transformation of the
- database.
-
- The intent of the vertex translation feature is to provide the
- ability to temporarily "tweak" a particular vertex and view how
- that perturbation is reflected in the current image. It does not
- allow the construction of a new, permanently modified geometry
- definition.
-
-
- 3.3.4.1 4-D Image Considerations
-
- To be able to select and translate a particular vertex of the
- current hyperobject, the point corresponding to that vertex must
- be visible in the current display. It should be recalled that in
- the case of images generated by performing an intersection of the
- hyperobject with a hyperplane, the points and edges seen in the
- final display do not correspond directly to points and edges in
- the hyperobject. Such a correspondence is only certain to exist
- with images generated as projections of the hyperobject onto a
- 3-D hyper-viewplane. For this reason, the translation state of
-
-
- HYPERGEO Version 2.1 Page 3-23
-
-
- the user interface can only be entered when the display is of a
- 4-D to 3-D projection image. However, it should be noted that
- this includes the dual imaging mode in which both an intersection
- and a projection are shown simultaneously on the screen side by
- side. With a dual image, the projection portion can be used to
- select a vertex with the mouse, and the results of translating
- the vertex appear as temporary perturbations of both images. In
- fact, this probably makes the dual imaging mode the most
- interesting and useful one for performing vertex translations.
-
-
- 3.3.4.2 The Two User Interface States: Rotation and Translation
-
- As mentioned in the preceding section, the normal HYPERGEO user
- interface provides commands to perform rotations of the current
- geometry. An interactive command exists (keystroke 'U') to
- toggle the user interface between this default state and the
- alternative state in which an individual vertex point may be
- translated in hyperspace. Which state the user interface is in
- is indicated by the commands available in the menu area and by
- the behavior of the mouse cursor.
-
- In the default rotation state of the user interface, the mouse
- cursor is an arrow icon, and the cursor is always restricted to
- the menu area (if displayed). When the user interface is
- switched to the translation state, the cursor becomes a
- cross-hair icon, and it is repositioned to the main graphics
- area. While the cursor is a cross-hair, the mouse can be used to
- select a vertex point which is to be translated. Once a vertex
- has been selected with the mouse, it is marked in the display
- with a cross-hair symbol, and the mouse cursor reverts to the
- normal arrow icon and returns to the menu area. The special
- translation state commands of the user interface can then be used
- to perform temporary movements of the selected vertex.
-
- The contents of the bottom portion of the menu area depend upon
- the user interface state. In the normal rotation state, this
- part of the menu contains the mouse control pads for performing
- 4-D planar rotations:
-
- ____________________
- | | | |
- | | | |
- | YZ | XZ | XY |
- | | | |
- |______|______|______|
- | | | |
- | | | |
- | XW | YW | ZW |
- | | | |
- |______|______|______|
- | |
- | 4-D PLANE |
- |____________________|
-
-
- HYPERGEO Version 2.1 Page 3-24
-
-
- When the translation state of the user interface is in effect,
- 4-D rotations are unavailable, and the bottom portion of the menu
- area is replaced with a control pad containing the vertex
- translation functions:
-
- ____________________
- | | | |
- | | | |
- | Sel | Y | Nxt |
- | | | |
- |______|______|______|
- | | | |
- | | | |
- | Z | W | X |
- | | | |
- |______|______|______|
- | |
- | MOVE VERTEX |
- |____________________|
-
-
-
- The pads labeled X, Y, Z, and W perform a translation of the
- vertex along the corresponding coordinate (the right mouse button
- increments the coordinate value, and the left mouse button
- decrements it). Selecting the pad labeled "Sel" deselects the
- current vertex and sets the interface to select a new one; the
- mouse cursor changes to a cross-hair icon and moves to the main
- display area. Selecting "Nxt" deselects the current vertex and
- automatically selects the next sequential one according to an
- (essentially arbitrary) ordering scheme used by the internal
- database.
-
- Whenever a vertex that has had temporary translations performed
- on it is deselected (either via the "Sel" or "Nxt" functions
- described above, or by toggling out of the translation state of
- the user interface entirely via the 'U' command), the permanent
- 4-D coordinates of the vertex are restored.
-
-
- 3.3.4.3 Vertex Translations without a Mouse
-
- Keyboard equivalents enable the performance of vertex
- translations even if no mouse is present on the system. Only the
- function of selecting a particular vertex in the display cannot
- be performed directly (although the same effect can be achieved
- in a somewhat roundabout fashion).
-
-
- HYPERGEO Version 2.1 Page 3-25
-
-
- Without a mouse, when the program enters the translation state of
- the user interface (via the 'U' command), there is no visible and
- movable cursor for selecting a vertex. However, the <Enter> key
- will select one vertex arbitrarily. Once a vertex is selected,
- <Enter> is equivalent to the "Nxt" function pad in the menu area;
- it allows cycling through all vertexes in an arbitrary order.
- The <Esc> key is equivalent to the "Sel" function; it deselects
- the current vertex.
-
- The arrow keys can be used to perform the actual vertex
- translations. Right-arrow translates the selected vertex along
- the X-coordinate, up-arrow along the Y-coordinate, left-arrow
- along the Z-coordinate, and down-arrow along the W-coordinate.
- Using the arrow keys without any modifer key causes translations
- in the positive direction along the particular axis. Combining
- the arrow keys with the <Shift> key performs the translation in
- the negative direction. (Because <Shift> does not work with the
- arrow keys correctly on some keyboards, <Ctrl> can also be used
- wth the arrow keys to perform translations in the negative
- direction.)
-
-
- 3.4 View Control
-
- The final step in the processing chain that leads from the
- specification of the geometry of a four-dimensional hyperobject
- to the depiction of an image of that object on the computer
- screen is the generation of the two-dimensional graphical output.
- As described above in a previous section of this document, the
- program uses a number of variations of a basic 3-D to 2-D linear
- projection to perform this step. The user has access to several
- interactive commands with which to adjust a number of parameters
- that affect the appearance of the final display. Paramount among
- these is the output display mode.
-
-
- 3.4.1 The Five Display Modes
-
- As outlined earlier, there are five possible projection modes in
- which the final graphical output can be presented: perspective,
- stereoscopic anaglyph, hidden-line, surface relief, and solid.
- The selection of a particular mode is one of the parameters which
- the user can modify; any one of the five modes can be invoked at
- any time (with some exceptions - see below). A data field in the
- menu area shows which mode is in effect. Whenever the display
- mode is changed, the program immediately redraws the
- representation of the current geometry using the method of the
- new mode. The basic orientation of the hyperobject remains fixed
- across any such switch in display mode.
-
-
- HYPERGEO Version 2.1 Page 3-26
-
-
- The exceptions referred to in the preceding paragraph are as
- follows: first, the stereoscopic anaglyph and surface relief
- modes cannot be invoked on monochrome systems (since the anaglyph
- requires red and blue); and second, the hidden-line, surface
- relief, and sold display modes can only be selected if the 4-D to
- 3-D reduction step is using 4-D intersection, not 4-D projection
- (since 4-D projections do not produce a 3-D geometry which is a
- solid 3-D polyhedron amenable to hidden-line analysis).
-
-
- 3.4.2 Key Display Parameters
-
- Two numeric parameters are key in the calculations which generate
- the graphics seen on the screen. First, the eye-to-screen
- distance is used to calculate all forms of 3-D to 2-D projection.
- The eye-to-screen distance is shown as a data item in the menu
- area. It can be adjusted up or down interactively by the user.
- Decreasing the eye-to-screen distance has the effect of enhancing
- the perceived degree of perspective in the picture, and
- increasing the distance reduces the perspective. The
- eye-to-screen distance can be adjusted in increments or
- decrements equal to 10% of its current value, or it can be set to
- an explicit numeric value. The program automatically limits the
- maximum and minimum values to which the eye-to-screen distance
- can be set in order to prevent numeric errors from occurring in
- calculations that are performed when generating the perspective
- displays and which make use of the eye-to-screen value.
-
- The second key display parameter is the scale factor which is the
- ratio of screen inches to geometry units. This value determines
- the apparent size of the object as finally drawn on the screen.
- The scale factor is displayed as a data field in the menu area.
- It can be adjusted up or down in increments of 10% of the current
- value, or it can be assigned an explicit numeric value. When a
- new geometry file is read in, and if there is no overriding
- information in the configuration file, the program automatically
- sets the scale factor so the image of the object fits comfortably
- within the primary graphics area allowing plenty of room for
- rotations.
-
- Both the eye-to-screen distance and the display scale factor can
- be specified in the configuration file.
-
-
- HYPERGEO Version 2.1 Page 3-27
-
-
-
- 3.4.3 Hyperface Highlighting
-
- The concept of a four-dimensional solid hyperobject's possessing
- three-dimensional hyperfaces (a higher-order geometrical analogy
- to the intuitively comprehensible fact that a three-dimensional
- polyhedron possesses two-dimensional faces) is naturally very
- difficult for us to grasp. To aid in visualizing this, HYPERGEO
- has a feature which enables the user to highlight that portion of
- the displayed 3-D image (either projection or intersection) that
- belongs to a single hyperface. A special highlight color
- (distinct from the primary graphics foreground color) is used to
- display all edges that are part of the hyperface that is
- currently highlighted. This makes the shape and topological
- structure of the hyperface readily visible as the hyperobject in
- its entirety is manipulated in hyperspace.
-
- It should be noted that a different interpretation must be placed
- on the visible pattern of highlighted edges depending on whether
- the 3-D image is a projection or an intersection. For a 4-D to
- 3-D projection, the edges seen in the final displayed image all
- correspond exactly to actual edges that exist in the hyperobject.
- Since a hyperface must be a simple, convex polyhedron, the
- pattern of hightlighted edges will also always form a complete
- polyhedron (although its shape will appear variously twisted and
- distorted due to the effects of the 4-D to 3-D projection).
-
- For 4-D to 3-D intersections, the situation is different. The
- edge lines that appear in the final display for an intersection
- correspond not to the original edges of the hyperobject but
- rather to the outlines of the polygons that are formed at the
- intersections of each of the hyperobject's hyperfaces with the
- intersecting hyperplane. Thus, a highlighted hyperface in a 4-D
- to 3-D intersection image will appear as a single highlighted
- face of the three-dimensional polyhedron that is the overall
- intersection. It is also possible that, as the hyperobject is
- rotated in 4-space and the intersecting hyperplane is moved, the
- highlighted hyperface may for a time fail completely to intersect
- the hyperplane. When this happens, no highlighted edges will
- appear in the 3-D intersection image (since the 3-D polyhedron
- has at that moment no face derived from an intersection of that
- particular hyperface). Indeed, it is generally most revealing to
- observe the changing (and occasionally vanishing) shape of the
- highlighted face that is the intersection of the hyperplane and
- the highlighted hyperface as the hyperobject is manipulated in
- 4-space.
-
- The <Tab> key is used to toggle hyperface highlighting on and
- off. When highlighting is on, the <Space> bar advances the
- highlighting to the next hyperface (according to an arbitrary
- internal ordering), and <Backspace> highlights the preceding
- hyperface (per the same arbitrary ordering).
-
-
- HYPERGEO Version 2.1 Page 3-28
-
-
- Ordinarily, highlighting uses the color which is specially
- designated for that purpose in the overall HYPERGEO palette (see
- the discussion on HYPERGEO's use of color in Section 3.2.1).
- However, in certain circumstances, a different color or technique
- is used. On monochrome systems a thick line is used to indicate
- highlighting rather than a different color. In the display modes
- that use red-blue anaglyphs (stereoscopic and surface relief), a
- brighter intensity of the requisite red and blue shades is used
- for the highlighted edges. And when hyperface highlighting is
- used together with the W-coordinate spectrum banding feature (see
- below), the normal foreground color (default white) is the
- highlight color.
-
-
- 3.4.4 W-coordinate Spectrum Banding
-
- It is inherent in the nature of 4-D to 3-D image reductions
- (especially projections) that the W-coordinate information of the
- original hyperobject is lost. This follows inevitably from the
- fact that the projection takes place onto a hyperplane that has a
- constant W-coordinate value. The resulting image has full 3-D
- structure; the X and Y dimensions are readily apparent, even
- after projection onto the 2-D viewscreen, and the Z dimension can
- be perceived to a greater or lesser extent (most greatly in the
- stereoscopic projection modes). However, the W dimension gets
- lost in the reduction process and must be inferred indirectly
- from the changing appearance of the 3-D image as the hyperobject
- is manipulated.
-
- As an aid to perceiving the W-dimension information, HYPERGEO has
- a feature that causes all edges of the current image to be
- displayed in a color (or spectrum of colors) that is a function
- of the W-coordinate values of the corresponding edge of the
- original hyperobject. This feature uses a spectrum of ten colors
- in place of the single primary foreground color. The spectrum
- ranges from blue-violet for the minimum W-coordinate value,
- through blue, aqua, cyan, blue-green, green, olive-green, yellow,
- and orange, up to red for the maximum W-coordinate.
-
- The total range of possible W coordinates is divided into ten
- bands, and each band is assigned its corresponding spectrum
- color. All edge lines are displayed divided into separate
- segments according to how the W-coordinate values of the original
- 4-D edge range across the spectrum bands; each segment is
- displayed in the color that is correct for that segment's
- W-coordinate values.
-
-
- HYPERGEO Version 2.1 Page 3-29
-
-
- For an image that is a 4-D to 3-D intersection, it should be
- noted that, by definition, all visible lines in the image have a
- single W-coordinate value (i.e., the current W-value of the
- intersecting hyperplane). Therefore, with W-coordinate spectrum
- banding in effect, an intersection image will be displayed
- entirely in whatever spectrum color corresponds to the W
- coordinate of the intersecting hyperplane. This will not change
- if the hyperobject is rotated, but it will change when the
- intersecting hyperplane is translated along the W-axis. In this
- latter case, the 3-D image will continue to be a single color,
- but that color will change through the spectrum shades as the
- hyperplane's W-coordinate ranges across the ten possible bands.
-
- The spectrum banding feature is toggled on and off with the 'B'
- key.
-
-
- 3.5 Journalling
-
- The journalling feature in HYPERGEO permits the recording into a
- disk file of all display information that appears on the screen
- during a sequence of manipulations of the current geometry. A
- recorded journal file can later be replayed, redisplaying the
- exact images that were visible during the original interactive
- session.
-
- This ability to record and replay a sequence of displayed images
- can be useful in several ways. By saving the display to a
- journal, the user can be sure of being able to recreate a
- particularly interesting image that might happen to occur and
- would not otherwise be easily reproducible. Also, the automated
- rotation commands (in particular, the commands that peform
- sequences of unpredictable - and unrepeatable - random rotations)
- can have their display sequences recorded in a journal file, thus
- ensuring that they can be redisplayed at will exactly as they
- originally appeared. Finally, for very large geometrical models,
- where the computational time spent in updating the database
- between images is significant, the display can be recorded, and
- when the journal is replayed, the computational delays are
- eliminated; the recorded images can be displayed as fast as the
- computer's graphics system will allow. This enables a relatively
- slow and long-running interactive sequence to be viewed at a
- speed that makes the behavior of the geometry far more
- intuitively comprehensible.
-
- A word of warning is in order here. Although the data recorded
- in a journal file is reduced to the minimum amount necessary to
- recreate the display, the volume of data required can still be
- considerable, especially for large and complex geometries. It is
- very possible that a journal file, if left recording over an
- extended period of time, will fill megabytes of disk space. (The
- W-coordinate spectrum banding feature described above is
-
-
- HYPERGEO Version 2.1 Page 3-30
-
- especially costly in this regard since it multiplies the number
- of individual segment records, with their coordinate and color
- information, that must be written to the journal file.)
- Therefore, unless you have enormous ammounts of disk space at
- your disposable, it is wise to first create a brief trial journal
- of a particular geometry to get an approximate idea of how many
- bytes are needed for each separate recorded image. You also
- should be aware of how much free disk space your system has
- available (the DOS command "DIR" will tell you this).
-
- Because the data contained in a journal file reflects only the
- actual display seen on the screen, it is specific to the current
- system configuration. Journal files are, in general, not
- portable between systems. For example, a journal recorded in
- monochrome will definitely not look right if replayed on a color
- system. In addition, it is just possible that a journal file
- will not work correctly on the same system if the HYPERGEO
- configuration is changed significantly between the journal's
- recording and its replaying.
-
-
- 3.5.1 Recording a Journal File
-
- Recording of a journal file may be started any time that a
- geometry is active in the HYPERGEO display. The keystroke 'K' is
- used to start recording. A text dialog box appears which
- requests input of the name of the journal file to be created.
- When the dialog box first comes up, the type-in area contains a
- default file name which is the name of the current geometry
- definition with an extension of .JNL. The text editing features
- of the dialog box can be used to modify this file name if
- desired, including the prepending of a DOS path specification to
- place the file in a different directory.
-
- Once the journal file name has been confirmed, recording is in
- effect. A message indicating that a journal file is being
- recorded appears at the bottom of the main display area.
-
- Every interactive operation that changes the display on the
- screen writes the new image to the journal file. Within the
- journal each separate image is known as a "frame". Only the
- primary graphics are written to the journal; the menu area is not
- journalled, nor are any message or interactive dialog boxes that
- might appear as various HYPERGEO commands are executed.
-
- The keystroke 'K' is also used to terminate the recording of a
- journal file. It brings up a message dialog box that shows the
- name of the journal file, the date and time its recording was
- started, and the total number of frames it contains.
-
-
- HYPERGEO Version 2.1 Page 3-31
-
-
-
- 3.5.2 Replaying a Journal File
-
- A previously recorded journal file can be replayed whenever
- HYPERGEO is accepting interactive commands. For the replaying of
- a journal it does not matter what the current geometry is since
- the journal will override the current display while it is being
- replayed, and the current interactive display will be restored
- when the journal replay is finished.
-
- The keystroke 'J' invokes the journal replay command. A file
- selection dialog box appears listing all files that have
- extension .JNL in the current directory. The features of the
- dialog box can be used to select a journal file which is located
- in a different directory or which has a non-standard extension
- (i.e., other than .JNL). Once a journal file name has been
- selected and confirmed, the program enters journal replay mode.
- The display of the current geometry is erased, and the first
- frame of the journal file is displayed. The name of the geometry
- file which was recorded appears in the upper-left of the main
- display area along with a frame counter that shows the current
- journal frame number along with the total number of frames in the
- file.
-
- The journal replay command has options for displaying the
- contents of the journal that are modeled on the controls
- available on a video tape recorder (VCR). They permit viewing
- the journal's frames in the normal forward direction and also in
- the reverse direction. The journal may be moved forward or
- backward through the frames at high speed as in a VCR's fast
- forward and fast reverse (rewind) commands. In addition, the
- display of the journal may be stopped on any frame, and the
- journal may be stepped forward or backward a single frame at a
- time.
-
- A menu line appears at the bottom of the screen during journal
- replay that lists the keystroke commands that perform these VCR
- functions:
-
-
- HYPERGEO Version 2.1 Page 3-32
-
-
- F - Fast forward Advances the journal forward through
- the frames at high speed until the
- last frame is reached, then stops.
- The main display is blank during fast
- forwarding; only the frame counter is
- updated.
-
- P - Play Displays the journal file's frames
- sequentially in forward order until
- the end of the journal is reached,
- then stops.
-
- A - Advance Steps the journal forward one frame
- and stops.
-
- S - Stop Stops the journal on the current
- frame; that frame's display will
- remain visible indefinitely until
- another replay command is executed.
-
- B - Back Steps the journal backward one frame
- and stops.
-
- R - Reverse Displays the journal file's frames
- sequentially in reverse order until
- the start of the journal is reached,
- then stops.
-
- W - Rewind Advances the journal backward through
- the frames at high speed until the
- first frame is reached, then stops.
- The main display is blank during
- rewinding; only the frame counter is
- updated.
-
- E - Eject Ends the journal replay. The display
- of the current geometry is restored,
- and normal HYPERGEO interactive
- commands are in effect.
-
-
- The Play and Reverse commands display the journal file frames as
- rapidly as the system's graphics capabilities will allow.
- Normally, this is considerably faster than the speed of the
- interactive manipulations that were recorded in the journal.
-
-
- HYPERGEO Version 2.1 Page 3-33
-
-
- An alternative set of control keys is also enabled during the
- replay of a journal file that are designed to be used on
- keyboards which have a numeric keypad. (Note: NumLock must be
- off to use these keypad commands.) They are entirely equivalent
- to the command keys listed above:
-
- Fast forward - End
- Play - Right-arrow
- Advance - Down-arrow
- Stop - '5' on the keypad
- Back - Up-arrow
- Reverse - Left-arrow
- Rewind - Home
- Eject - Escape
-
-
- A diagram of the keypad gives a better sense of the logic behind
- this arrangement:
-
- ________________________________
- | | | |
- | | | |
- | Rewind | Back | |
- | | | |
- |__________|__________|__________|
- | | | |
- | | | |
- | Reverse | Stop | Play |
- | | | |
- |__________|__________|__________|
- | | | |
- | | | |
- | Fast Fwd | Advance | |
- | | | |
- |__________|__________|__________|
-
-
-
- As an additional convenience, the <Space> bar also executes the
- Stop command.
-
-
- HYPERGEO Version 2.1 Page 3-34
-
-
-
- 3.6 PCX File Output
-
- The display currently visible on the screen may be saved in a PCX
- file at any time during interactive editing. PCX is a standard
- graphics file format that can be read by many commercial
- word-processing, desktop publishing, and presentation artwork
- programs. This provides a means for copying HYPERGEO images into
- documents and for producing printed output.
-
- The 'O' key executes the PCX File Output command. It brings up a
- text dialog box which requests the name of the file to be
- created. The dialog box's type-in area is pre-filled with a
- default name which is the name of the current geometry file with
- .PCX as its extension. The dialog box features may be used to
- change this name if desired, including prepending a DOS path
- specification to place the output file in a different directory.
-
- Once the file name is confirmed, the PCX file is created. A
- message window appears indicating the successful completion of
- the command.
-
-
- HYPERGEO Version 2.1 Page 4-1
-
-
-
- Section 4. Inner Workings
-
-
-
- 4.1 Units
-
- The coordinates of the geometry definition are considered to be
- in so-called "geometry units" which are not assumed to have any
- particular relation to any real physical unit. Regardless of the
- size of the coordinate values, HYPERGEO will scale the display to
- fit within the visible screen area. Some of the parameters that
- can be specified by the user are expressed in geometry units and
- must be entered that way. Other parameters, in particular, those
- relating to the projection of the final 2-D image on the computer
- screen, are expressed in real-world units. The program uses
- inches for all real-world dimensions, and the display scale is
- expressed as a ratio of inches to geometry units (the inches here
- refer to distances on the face of the screen).
-
- In the detailed reference material contained in the appendixes to
- this document and in all program prompts and messages the units
- to use for a particular data value are always indicated.
-
-
- 4.2 Verification of the Geometry Definition
-
- A geometry definition file is created by the user as an ordinary
- text file (see Appendix A for a full discussion of this file's
- format). It is then processed into a more efficient binary
- (i.e., non-text) form which can in turn be read by the HYPERGEO
- program. This text-to-binary processing step is performed by the
- GEO2BIN utility program. In addition to converting the geometry
- definition to binary format, the GEO2BIN program also performs
- some error checking on the correctness of the geometrical model.
- It analyzes the definition of the described object which contains
- direct information on the number of vertexes and edges. The
- number of faces and (for 4-D) hyperfaces is calculated, and
- various aspects of the input file and its derived topology are
- checked for validity:
-
- * The number of dimensions must be either 3 or 4.
-
- * Every vertex must have at least as many edges connected to
- it as the number of dimensions.
-
- * All edge connections must be consistently specified
- between both connected vertexes, that is, if vertex #1 is
- in the connection list of vertex #2, vertex #2 must be in
- vertex #1's list, also.
-
- * The numbers of vertexes, edges, faces, and (for 4-D)
- hyperfaces must agree with the theoretical values as given
- by Euler's Formula or its hypergeometric version.
-
-
- HYPERGEO Version 2.1 Page 4-2
-
-
- If any of these checks fails, an error message is displayed, and
- the binary geometry definition file is not created.
-
-
- 4.3 Overlay Swapping
-
- HYPERGEO was developed using Borland C++ Version 3.1, and it
- makes use of the Borland overlay manager (called VROOMM for
- Virtual Run-time Object-Oriented Memory Manager). Various
- portions of HYPERGEO's executable code are swapped in and out of
- memory dynamically as they are needed while the program is
- running. This technique is known as overlaying and is a standard
- approach for minimizing a program's run-time memory requirements.
- It reduces the amount of system memory required by the program at
- any one time.
-
- However, overlaying has the drawback that it may entail repeated
- disk reads of the program's executable file (whenever a new
- portion of the code must be loaded for execution). This can
- cause a noticeable slow-down in the program's performance. A way
- to avoid this problem is to use system memory outside the
- standard 640K DOS area to store those portions of the program
- that are temporarily swapped out. When they are needed again for
- execution, they can be retrieved from memory much faster than if
- they must be reread from disk.
-
- The Borland overlay manager allows using either expanded memory
- (EMS) or extended memory as the overlay storage area. A full
- discussion of what expanded and extended memory are and how they
- are implemented on a PC is beyond the scope of this document.
- Those topics are covered in some detail in the DOS reference
- manual. Suffice it to say for now that if your computer has any
- memory beyond the 640K main DOS area, it is probably set up to be
- available as one or the other of expanded or extended.
-
- If your system has extra memory but you're not sure how it is set
- up, you can simple try running HYPERGEO with each of the two
- overlay swapping options (-e for EMS expanded, -x for extended)
- and see which one works. If you choose the wrong one, HYPERGEO
- will issue a message saying it can't find the specified type of
- memory and will not start up.
-
- Note: If your system has a disk caching utility installed (for
- example, Microsoft's SMARTDRV, which is provided with MS-DOS and
- Windows 3.x), you should not enable HYPERGEO's overlay swapping.
- The disk caching performs a similar function, and HYPERGEO's
- overlay swapping would be redundant.
-
-
- HYPERGEO Version 2.1 Page 5-1
-
-
-
-
- Section 5. Restrictions and Limitations
-
-
- 5.1 Geometry Definition File
-
- The database maintained by the HYPERGEO program is dynamically
- allocated and expands to fit the size of the geometry being
- handled so there are no precise and absolute capacity limits on
- how big and complicated an object may be. The ultimate barrier
- is the 640K limit of available memory under DOS. Although I have
- not done the actual experiment, my guess is that the two largest
- regular four-dimensional polytopes, with 120 and 600 hyperfaces
- respectively (and as many as 1200 edges and faces), would far
- overwhelm HYPERGEO and DOS with their memory allocation
- requirements. If some intrepid researcher would care to
- undertake the creation of geometry definition files for these two
- very large hyperobjects, I would be most interested in hearing
- about the results.
-
- For more reasonably sized geometries, the most important
- restriction is that all 4-D hyperobjects must be "simple" and
- externally convex. (Simple means the object must be solid without
- any holes passing through it.) For 3-D geometries, the
- requirement that the object be externally convex is removed, but
- it must still be a simple polyhedron, and all its faces must be
- simple polygons without internal edges. Note that this last
- condition implies more severe limitations than is at first
- evident since it means that no face can have isolated projections
- or depressions in it (as that would mean there would be a ring of
- edges internal to the face and disconnected from the rest of the
- topology).
-
- As mentioned above, GEO2BIN performs some checking on the
- topological correctness of the input geometry. However, to be
- truthful, this checking is not totally comprehensive; it can
- certainly fail to detect some errors in the input, and when it
- does find errors, the messages issued are not always as helpful
- as could be wished in pinpointing the problem. I am sure that it
- would be possible to get the program to misbehave quite
- seriously, including hanging or crashing, by feeding it
- pernicious input data. Therefore, until a future version of the
- program possesses improvements in this regard, the user must take
- some pains to insure that all new geometry definition files are
- created carefully and accurately. If the program crashes upon
- startup, consider that to be a very loud, broadband error
- message, and check the geometry file closely. (However, HYPERGEO
- and the utility GEO2BIN are not totally deficient in this regard,
- and they will issue error messages when certain problems are
- detected. A geometry definition file with only a handful of
- conventional errors will be handled adequately.)
-
-
- HYPERGEO Version 2.1 Page 5-2
-
-
-
- 5.2 Mathematical Precision
-
- Most calculations in HYPERGEO are performed using a special
- fixed-point format that uses 32-bit data fields. Within this
- field, 24 bits are used for the fractional portion of the value,
- and this gives about seven decimal digits of accuracy. This is
- sufficient to produce graphics that are accurate and correct to a
- degree well beyond the limiting resolution of PC display devices.
-
- It is possible that small discrepancies may appear in some of the
- parameter values displayed by HYPERGEO as a result of restricting
- the precision of numerical calculations to 24 bits. For example,
- you may notice that if you perform a single rotation of the
- geometry away from its starting orientation (where all axis
- angles are exactly zero) and then immediately perform a single
- identical rotation in the reverse direction, the axis angles may
- not all be restored to precisely zero. This particular
- phenomenon is an especially sensitive indicator of very slight
- imprecisions in the fixed-point calculations; it arises because
- the axis angles are calculated as inverse cosines of orientation
- matrix coefficients, and the cosine function has the property
- that its value is very close to 1.0 for a fairly wide range of
- small angle values. (For example, the inverse cosine of 0.999999
- is approximately 1/10 degree.) Despite such apparent
- inaccuracies, the calculations are accurate to a degree of
- precision more than sufficient to produce exactly correct
- graphics.
-
- All numbers that are accepted as user input to the program (such
- as values appearing in configuration file parameter
- specifications) are handled as double precision floating-point
- quantities. The double precision word length is 64 bits which
- provides about fifteen decimal digits of accuracy. Any
- floating-point values given to the program (such as coordinates
- in the geometry definition file or scale factor in the
- configuration file) may contain up to fifteen digits although the
- usefulness of such extreme precision is questionable.
-
-
- HYPERGEO Version 2.1 Page 6-1
-
-
-
-
- Section 6. Supplied Geometry Definition Files
-
-
- The HYPERGEO program comes with several "ready-to-run" geometry
- definition files, including both 4-D and 3-D objects. These
- files include four of the six regular convex four-dimensional
- polytopes and all five of the three-dimensional regular convex
- polyhedra (the so-called "Platonic solids"). (As indicated
- above, the remaining two regular convex 4-D polytopes are almost
- certainly too big and complex to fit in HYPERGEO under DOS; they
- also are too far beyond my powers of hypergeometric comprehension
- to capture in a HYPERGEO input file.)
-
- All of the supplied geometry definition files are in binary
- format and have the file extension .BIN. The root portion of the
- file name corresponds to the name of the geometric object
- contained in the file (with some abbreviations as required by DOS
- file name length limits). The regular four-dimensional polytopes
- are in the files:
-
- File Name Vertexes Edges Faces Hyperfaces
- ------------ -------- ----- ----- ----------
-
- 5CELL.BIN 5 10 10 5
-
- HYPRCUBE.BIN 16 32 24 8
-
- 16CELL.BIN 8 24 32 16
-
- 24CELL.BIN 24 96 96 24
-
-
- Note that except for the hypercube the 4-D polytope names are of
- the form 'N-cell' where N is the number of hyperfaces. (The
- hypercube, technically and to be consistent, could be called the
- 8-cell - just as the cube could be called a 'hexahedron' and the
- square a 'tetragon'.) For the record, the two 4-D regular
- polytopes that aren't included here are the 120-cell and the
- 600-cell.
-
-
- HYPERGEO Version 2.1 Page 6-2
-
-
-
- For three dimensions, all of the regular polyhedra names except
- "cube" are of the form '<prefix>hedron' where <prefix> is the
- Greek numeral indicating the number of faces: tetrahedron,
- octahedron, dodecahedron, and icosahedron. The HYPERGEO geometry
- definition file names are formed from just the prefix without the
- base 'hedron':
-
- File Name Vertexes Edges Faces
- ------------ -------- ----- -----
-
- TETRA.BIN 4 6 4
-
- CUBE.BIN 8 12 6
-
- OCTA.BIN 6 12 8
-
- DODECA.BIN 20 30 12
-
- ICOSA.BIN 12 30 20
-
-
- In addition to the regular polytopes and polyhedra, the following
- geometry definition files are also included:
-
- File Name Dimensions Geometrical Object
- ------------ ---------- ---------------------------------
-
- BLOCKS.BIN 3 A three-dimensional cross formed
- by stacking cubes along each of
- the three coordinate dimensions.
-
- STELLA.BIN 3 The "stella octangula", an
- interesting polyhedron formed by
- merging two 3-D tetrahedra.
-
- HG.BIN 3 A shape that forms the HYPERGEO
- logo by presenting the outline of
- the letter 'H' when viewed from
- two of the three orthogonal
- directions and the outline of the
- letter 'G' when viewed from the
- third.
-
-
- HYPERGEO Version 2.1 Page 6-3
-
-
-
- HYTETRA.BIN 4 These four objects are
- HYOCTA.BIN 4 "hyperprisms" derived from the
- HYDODECA.BIN 4 3-D regular polyhedra contained
- HYICOSA.BIN 4 in their names. A hyperprism is
- formed by positioning two 3-D
- objects in hyperspace at a given
- separation along the W-axis and
- connecting each of the pairs of
- corresponding points between the
- two objects. The resulting
- hyperobject has two hyperfaces
- that are the same shape as the
- base 3-D object plus an
- additional number of hyperfaces
- equal to the number of faces in
- the base 3-D object. These
- additional hyperfaces are 3-D
- prisms whose end faces are the
- same polygonal shape as the faces
- of the base 3-D object. Thus,
- for example, the HYTETRA.GEO
- hyperobject is based on the 3-D
- tetrahedron; it has two
- hyperfaces that are tetrahedra
- and four hyperfaces that are
- prisms with triangular end faces.
- (Note: Technically the hypercube
- is itself a hyperprism - one
- based on the cube - but since it
- is also one of the regular 4-D
- polytopes, it is not included in
- this series.)
-
-
- ADDITIONAL GEOMETRY DEFINITION FILES SUPPLIED WITH REGISTERED
- COPIES OF HYPERGEO
-
- In addition to those files listed above, a number of extra
- geometry files are included with the utility program material
- that is supplied with a registered copy of HYPERGEO.
-
- First, the text-format version (extension .GEO) of each of the
- .BIN files listed above is supplied. This text version is not
- needed to use the geometry file in HYPERGEO, but it is of value
- as documentation showing how the objects and hyperobjects are
- constructed. The text files may also be of use as models to
- follow if the user creates any additional geometry definitions
- from scratch.
-
-
- HYPERGEO Version 2.1 Page 6-4
-
-
- Second, the following geometry definition files are supplied in
- both binary and text format (all are 3-D):
-
-
- File Name Geometrical Object
- ------------ -------------------------------------------------
-
- CUBOCTA The cuboctahedron. This is a "quasi-regular"
- convex polyhedron which is formed as the
- intersection of a cube and an octahedron. The
- faces are not all identical as in the Platonic
- solids, but they are all regular polyhedra
- (squares and equilateral triangles), and they
- are cyclically regular about each vertex.
-
- STELCUBO The stellated form of the cuboctahedron. It is
- the union of a cube and an octahedron.
-
- RHDODECA The rhombic dodecahedron. This is the dual of
- the cuboctahedron. All of its faces are
- identical rhombuses.
-
- ICODODEC The icosidodecahedron, the second quasi-regular
- convex polyhedron. It is formed as the
- intersection of an icosahedron and a
- dodecahedron. Its faces are regular triangles
- and pentagons, and they are cyclically regular
- about the object's vertexes.
-
- STELICOS The stellated icosidodecahedron. It is the
- union of an icosahedron and a dodecahedron.
-
- TRIACONT The triacontahedron, which is the dual of the
- icosidodecahedron. It is also a rhombohedron.
-
-
- HYPERGEO Version 2.1 Page A-1
-
-
-
-
- Appendix A. Geometry Definition File
-
-
- This appendix describes the text format of the geometry
- definition file. This file is the primary input to the HYPERGEO
- program. It specifies the topology and dimensions of the
- geometrical object to be displayed. In particular, the file
- contains the coordinate values for all vertex points of the
- object plus connectivity information that indicates which
- vertexes are joined by edges. Section A.1 of this appendix is a
- complete reference on the format of this file.
-
- A geometry definition file cannot be used directly by HYPERGEO in
- its original text form. It must first be converted into a binary
- format with the GEO2BIN utility program. The binary version of
- the geometry file can be read much more quickly by HYPERGEO than
- the text version since it contains the additional derived
- topological information required to construct the internal
- HYPERGEO database. Section A.2 of this appendix describes the
- use of the GEO2BIN utility.
-
-
- A.1 Text Format of the Geometry Definition File
-
- The geometry definition file is an ordinary text file that can be
- edited using any available text editor. It is read by the
- GEO2BIN program a line at a time; each line comprises one
- complete data record, and there is no way to continue data across
- multiple lines. The maximum length of a line is 255 characters.
-
- The geometry definition file can contain notes and comments that
- are not part of the data read by the program, but serve as
- human-readable annotation. This is indicated by preceding any
- such comments with the character '!'. GEO2BIN ignores any '!'
- character plus whatever follows it on the same line. If the
- first character on a line is a '!', the entire line is skipped by
- the program. If the '!' character appears following some data on
- a line, that data is read by the program, but everything after
- the '!' is ignored.
-
- The geometry definition file can contain any number of blank
- lines, which are ignored. A line which contains only comment
- text is considered by the program to be a blank line.
-
- Every geometry definition file must begin with two particular
- data lines. The first contains a single integer value which is
- the number of dimensions of the geometric object; this number
- must be either 3 or 4. The second line contains a single integer
- that is the number of vertex points in the geometry. Following
- these two lines, there must be one line with point data for each
- vertex point.
-
-
- HYPERGEO Version 2.1 Page A-2
-
-
- Each point data line contains the coordinate and connectivity
- information for a single vertex point. Its format is:
-
- n: x.x y.y z.z [w.w] p1 p2 p3 [... pN]
-
- where 'n' is the sequence number of the point data line; 'x.x',
- 'y.y', 'z.z', and 'w.w' are the X, Y, Z, and W coordinates of the
- point; and 'p1' through 'pN' are the sequence numbers of all
- other points connected to this point by edges.
-
- Each point's sequence number serves to identify the point within
- the file. It is the number used in the connection lists, and it
- is also the number used to refer to the point in any error
- messages that may be issued. All point sequence numbers are
- integers, and they must be in ascending order within the file;
- the first point data line must have sequence number 1, and the
- last point data line must have a sequence number equal to the
- total number of vertex points in the object.
-
- The coordinate values are floating-point numbers and may contain
- an optional decimal point and fractional digits. They may also
- contain a decimal exponent in standard scientific notation
- format. The coordinate values may be in any units desired; the
- program always scales the final display to fit the screen. The W
- coordinate must be specified for a four-dimensional geometry and
- must not be specified for a three-dimensional one.
-
- The list of connected points contains the sequence numbers of all
- points connected to the point described by the given data line.
- Connection information must be symmetrical, that is, if point A
- is in point B's connection list, point B must also be in point
- A's connection list. It is an error for a point to be in its own
- connection list. Unlike the coordinate values, the program has
- no way of knowing how many connections should exist for each
- point and hence cannot directly report an error if there are too
- few or too many. Therefore, it is incumbent upon the user to
- construct these lists with some care.
-
- Except for the ':' that must follow the sequence number, no
- punctuation is used to separate the data values, just one or more
- spaces.
-
- Following all point data, the geometry definition file may
- optionally contain configuration information. If it appears, it
- must consist of statements that are identical in format to the
- primary configuration file (see Appendix B). Configuration
- parameters specified in a geometry definition file override
- corresponding parameters set in the primary configuration file,
- but they remain in effect only while that geometry definition
- file is active in the HYPERGEO program.
-
-
- HYPERGEO Version 2.1 Page A-3
-
-
-
- A.2 The GEO2BIN Utility Program
-
- Every text Geometry Definition File (default extension .GEO) must
- be pre-processed to produce the corresponding binary version of
- the geometry definition (extension .BIN) in order to be used as
- input to the HYPERGEO program. The GEO2BIN utility program is
- provided to perform this text-to-binary conversion step. It must
- be executed (once only) for each new text geometry file before
- the file can be used in HYPERGEO, and it must be executed again
- (once) whenever any change is made to the text version of the
- geometry file. Note that this includes changes made to any
- configuration data that may be specified in the geometry
- definition file; the GEO2BIN program copies all such
- configuration data into the binary (.BIN) version of the file so
- it can be read by the main HYPERGEO program.
-
- GEO2BIN is a normal DOS program; it is executed by typing its
- name on the DOS command line followed by the name of the text
- geometry definition file to be processed:
-
- GEO2BIN <name-of-text-geometry-file>
-
- The geometry file name may contain a DOS path specification;
- otherwise, it is assumed to exist in the current directory. If
- the name as entered has no extension, .GEO is assumed. The
- output file created by GEO2BIN has the same name (and goes in the
- same directory) as the input text file, but with the extension
- .BIN.
-
- The GEO2BIN program displays status information indicating its
- progress as it is processing the geometry data. If GEO2BIN finds
- errors in the geometry file, it displays appropriate messages on
- the screen and does not create the binary output file. If
- desired, these error messages can be written to a file rather
- than displayed on the screen by using the standard DOS
- command-line redirection facility (the '>' character).
-
- Examples:
-
- GEO2BIN HYPRCUBE
-
- This reads the text geometry file HYPRCUBE.GEO in the current
- directory and creates the binary version HYPRCUBE.BIN in the
- current directory.
-
-
- GEO2BIN D:\DATA\CUBE.DAT >GEO2BIN.ERR
-
- This reads the text geometry file CUBE.DAT in directory D:\DATA
- and creates the binary version CUBE.BIN in directory D:\DATA.
- Any error messages will be written to the file GEO2BIN.ERR in the
- current directory rather than being displayed on the screen.
-
-
- HYPERGEO Version 2.1 Page B-1
-
-
-
-
- Appendix B. Configuration File
-
-
- This appendix describes the format of the HYPERGEO configuration
- file. This file allows the user to set a number of parameters
- that control various aspects of the program's performance. The
- file is read once upon start-up of the program, and is reread
- each time a new geometry definition file is entered.
-
- In addition to the configuration file, similar configuration
- information may also be contained in any geometry definition
- file. The format is the same in both places, but the parameter
- specifications in the geometry definition file override those in
- the primary configuration file; however, they are in effect only
- while that geometry file is active in the program (see Appendix
- A).
-
- Note: There is one configuration parameter that is restricted to
- being used only in a geometry definition file and that may not be
- used in the primary configuration file. See the entry on the
- ORIGIN parameter in the list below.
-
- A command line argument exists that allows the user to specify
- the name of the particular primary configuration file to use.
- This permits multiple configuration files to exist and to be
- selected as desired for different executions of HYPERGEO. If no
- configuration file name is specified via a command line argument,
- the program tries to open one called HYPERGEO.CFG in the current
- directory. It is not an error if this default configuration file
- cannot be opened, but it is a fatal error if a configuration file
- whose name is specified by the command line argument cannot be
- opened.
-
- The configuration file is an ordinary text file that can be
- edited using any available text editor. It is read by the
- HYPERGEO program a line at a time; each line comprises one
- complete data record, and there is no way to continue data across
- multiple lines. The maximum length of a line is 127 characters.
-
- The configuration file can contain notes and comments that are
- not part of the data read by the program, but serve as
- human-readable annotation. This is indicated by preceding any
- such comments with the character '!'. HYPERGEO ignores any '!'
- character plus whatever follows it on the same line. If the
- first character on a line is a '!', the entire line is skipped by
- the program. If the '!' character appears following some data on
- a line, that data is read by the program, but everything after
- the '!' is ignored.
-
-
- HYPERGEO Version 2.1 Page B-2
-
-
- The configuration file can contain any number of blank lines,
- which are ignored. A line which contains only comment text is
- considered by the program to be a blank line.
-
- Each data line in the configuration file contains a single
- parameter definition. The format of each line is simply the key
- word identifying the parameter followed by whatever data values
- the particular parameter requires. No punctuation should be
- used; all parameters and values should be separated by one or
- more spaces.
-
- The case of letters used in the configuration file does not
- matter, so lower or upper case (or both) can be used as desired.
- However, the program is absolutely unforgiving about spelling;
- all parameter key words must be spelled exactly as they are shown
- in this document - no abbreviations, no hyphens instead of
- underscores, no near misses.
-
- Most parameters take a single data value, either a number or
- another key word. Some parameters take a sequence of several
- numeric values, and some take no value at all. Numeric values
- that are inherently integral must be entered as pure integers.
- Where floating-point values are appropriate, the data item may
- include a decimal point and fractional digits as well as an
- exponent in scientific notation.
-
- Errors encountered by the program while trying to read a
- configuration file (or configuration data in a geometry
- definition file) are listed on the screen, and the program pauses
- to permit the user to read them. The primary configuration file
- is read by the main HYPERGEO program, while the secondary
- configuration specifications contained in a geometry definition
- file are read by the GEO2BIN program; but in both cases the
- method of error reporting is the same. All configuration file
- errors are fatal and terminate the program (HYPERGEO or GEO2BIN)
- after the error message list is dismissed.
-
- The following pages contain a list of all parameters that may be
- specified in the HYPERGEO configuration file or a geometry
- definition file.
-
-
- HYPERGEO Version 2.1 Page B-3
-
-
-
- Parameter: COLOR
- COLOR_BACKGROUND
- COLOR_HELP_BACKGROUND
- COLOR_HELP_TEXT
- COLOR_HILITE
- COLOR_MENU
- COLOR_MESSAGE_BACKGROUND
- COLOR_VECTOR
-
- Value: A color name chosen from the sixteen standard EGA
- colors. The possible colors are:
-
- BLACK DARKGRAY
- BLUE LIGHTBLUE
- GREEN LIGHTGREEN
- CYAN LIGHTCYAN
- RED LIGHTRED
- MAGENTA LIGHTMAGENTA
- BROWN YELLOW
- LIGHTGRAY WHITE
-
- Use: These eight parameters set the colors used for each
- of the component parts of the HYPERGEO display:
-
- COLOR - Primary geometry graphics; also the
- transient text values in the menu area and
- text in dialog boxes
-
- COLOR_BACKGROUND - Screen background
-
- COLOR_HELP_BACKGROUND - Background color of the
- on-line help screen
-
- COLOR_HELP_TEXT - Text color of the on-line help
- screen
-
- COLOR_HILITE - Color used to display edges of a
- highlighted hyperface
-
- COLOR_MENU - Outlines and fixed labels in menu
- area plus the mouse control pad; also the
- geometry file name
-
- COLOR_MESSAGE_BACKGROUND - Background color for
- all message and prompting dialog boxes
-
- COLOR_VECTOR - Unit axis vectors
-
- The screen background color should be a dark color
- (BLACK or DARKGRAY) if the stereoscopic anaglyph mode
- of display is to be used.
-
-
- HYPERGEO Version 2.1 Page B-4
-
-
- Default: COLOR WHITE
- COLOR_BACKGROUND DARKGRAY
- COLOR_HELP_BACKGROUND LIGHTGRAY
- COLOR_HELP_TEXT BLACK
- COLOR_HILITE LIGHTMAGENTA
- COLOR_MENU YELLOW
- COLOR_MESSAGE_BACKGROUND BROWN
- COLOR_VECTOR CYAN
-
-
-
- Parameter: COLOR_SOLID
-
- Value: A red/green/blue color specification in the form of
- three integers each in the range 0 to 63. The
- integers should be entered without punctuation,
- separated by spaces.
-
- Use: On VGA color systems, defines the colors to be used
- for surface rendering in solid display mode.
-
- For solid surface rendering the program uses twelve
- shades of graduated intensity based on the same
- color. The shades range from light to dark and are
- used to represent the varying degrees of illumination
- received by the different faces of the object from a
- theoretical light source. (HYPERGEO can optionally
- use color dithering techniques to increase the
- effective number of solid fill shades from twelve to
- twenty-three; see the SOLID_DITHER parameter below.)
-
- The color specified by the COLOR_SOLID parameter
- defines the lightest of the twelve shades; the
- program creates the remaining eleven to be
- increasingly darker variations. Therefore, the color
- specified should be fairly light, that is, have
- relatively high values for the red, green, and blue
- color components.
-
- Note: This parameter is only meaningful on systems
- with VGA color graphics.
-
- Default: 55 63 48
-
- This defines a light, slightly grayish green. It
- produces a spectrum of twelve shades that range
- through medium gray-greens down to a dark, evergreen
- green.
-
-
- HYPERGEO Version 2.1 Page B-5
-
-
-
- Parameter: DELTA_W
-
- Value: numeric value (floating-point)
-
- Use: Specifies the incremental step amount used to modify
- the W intersection value during execution of the
- HYPERGEO command for translation of the intersection
- hyperplane (Page Up/Page Down - see Appendix D on
- Interactive Commands below). This value is in the
- units of the geometry definition.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in
- a geometry definition file; however, it may be
- specified in the primary configuration file.
-
- Default: 0.05 times the span of the geometrical object. The
- "span" is the greatest extent of the object in any
- one of its three or four dimensions.
-
-
-
- Parameter: DISPLAY_INFO
-
- Value: One of: OFF
- ON
-
- Use: Specifies whether or not the HYPERGEO information
- window should be displayed automatically at program
- start up and whenever a new geometry definition file
- is entered.
-
- Default: ON
-
-
- HYPERGEO Version 2.1 Page B-6
-
-
-
- Parameter: DISPLAY_MENU
- DISPLAY_NAME
- DISPLAY_VECTOR
-
- Value: One of: OFF
- ON
-
- Use: Specifies whether a particular component of the
- HYPERGEO display will be drawn.
-
- DISPLAY_MENU controls the display of the menu area
- along the right edge of the screen. If DISPLAY_MENU
- is OFF, the entire screen is used for the primary
- geometry graphics (in this state, the mouse functions
- are not available).
-
- DISPLAY_NAME controls the display of the name of the
- geometry definition file; if ON, the name will be
- displayed at the upper, left corner of the screen.
-
- DISPLAY_VECTOR controls the display of the coordinate
- axis vectors. The axis vectors are displayed as
- dotted lines in the primary graphics; each vector is
- labeled with the name of its axis, X, Y, Z, or W.
-
- Note: Regardless of the DISPLAY_VECTOR setting, the
- axis vectors are not displayed in hidden-line,
- surface relief, or solid display mode.
-
- Default: DISPLAY_MENU ON
- DISPLAY_NAME ON
- DISPLAY_VECTOR OFF
-
-
-
- Parameter: DISPLAY_MODE
-
- Value: One of: ANAGLYPH
- HIDDEN_LINE
- PERSPECTIVE
- RELIEF
- SOLID
-
- Use: Specifies the display mode used to draw the primary
- geometry graphics.
-
- Note: The HIDDEN_LINE, RELIEF, and SOLID modes cannot
- be used with 4-D to 3-D projections (only
- intersections). If they are specified together with
- the PROJECTION or DUAL parameter (see below), the
- program will use PERSPECTIVE mode.
-
- Default: PERSPECTIVE
-
-
- HYPERGEO Version 2.1 Page B-7
-
-
-
- Parameter: DUAL
-
- Value: None
-
- Use: Causes HYPERGEO to create dual images using both
- intersection and projection modes of 4-D to 3-D
- reduction; both images are displayed on the screen
- simultaneously side by side (the intersection is on
- the left and the projection on the right).
-
- The DUAL parameter is meaningless for
- three-dimensional geometries.
-
- DUAL, INTERSECTION, and PROJECTION are mutually
- exclusive alternatives; if more than one appears in
- configuration file data, the final one encountered
- will take precedence.
-
- Default: By default HYPERGEO uses intersection mode for 4-D to
- 3-D reductions.
-
-
-
- Parameter: EPSILON
-
- Value: numeric value (floating-point)
-
- Use: Specifies a small value to be used as an effective
- zero in all floating-point comparisons required by
- the program's calculations.
-
- This value is unitless; all calculations are
- performed internally on normalized coordinates.
-
- Default: 1.0E-6
-
- Note: The performance of some of the algorithms used
- in hidden-line and solid surface displays is very
- sensitive to this value. The default was set after
- much experimentation and appears to provide reliable
- behavior almost all of the time. Users fiddle with
- this value at their own risk.
-
-
- HYPERGEO Version 2.1 Page B-8
-
-
-
- Parameter: EYE_DISTANCE
-
- Value: numeric value (floating-point)
-
- Use: Specifies the viewing distance, that is, the distance
- between the eye and the display screen. This value
- is in inches. It determines the degree of perceived
- perspective in the various display modes. For
- greatest realism, it should be set to accurately
- reflect the true eye-to-screen distance for the
- user's normal viewing position.
-
- Decreasing the EYE_DISTANCE enhances the perspective
- effect, which can be useful. HYPERGEO automatically
- limits the maximum and minimum values to which the
- eye-to-screen distance can be set to prevent possible
- numeric errors in the program's computations.
-
- Default: 30.0
-
-
-
- Parameter: EYE_SEPARATION
-
- Value: numeric value (floating-point)
-
- Use: Specifies the distance in inches between the viewer's
- eyes. This value is used in the perspective
- calculations required for the separate left and right
- eye images of the stereoscopic anaglyph and surface
- relief display modes.
-
- Default: 2.5
-
- Note: This default value should be entirely
- acceptable for virtually all users. You should only
- try adjusting it if you are having difficulty fusing
- the two stereoscopic images into a single 3D view
- with proper depth perception.
-
-
- HYPERGEO Version 2.1 Page B-9
-
-
-
- Parameter: INTERSECTION
-
- Value: None
-
- Use: Causes HYPERGEO to use the intersection mode of 4-D
- to 3-D reduction (rather than projection mode).
-
- The INTERSECTION parameter is meaningless for
- three-dimensional geometries.
-
- DUAL, INTERSECTION, and PROJECTION are mutually
- exclusive alternatives; if more than one appears in
- configuration file data, the final one encountered
- will take precedence.
-
- Default: By default HYPERGEO uses intersection mode for 4-D to
- 3-D reductions.
-
-
-
- Parameter: ORIGIN
-
- Value: Coordinate values as a sequence of three (for 3-D) or
- four (for 4-D) floating-point numbers. Values should
- be entered without delimiting punctuation, using only
- spaces as separation.
-
- Use: Permits translating the geometry along any (or all)
- of the coordinate axes. The coordinate values
- specified define the new origin which is to be used
- by HYPERGEO as a centerpoint for all rotations.
-
- The ORIGIN parameter may only be used in
- configuration data appearing within a geometry
- definition file; it may not be used in the primary
- configuration file. This is because the validity of
- the origin coordinates - in terms of their number and
- the units they are in - depends on the associated
- geometry definition. Also, the translation is
- applied dynamically to the geometry point definitions
- as they are read in.
-
- The ORIGIN coordinate values are in the same units as
- the original vertex point coordinates in the geometry
- definition file.
-
- Default: The origin is assumed to be (0,0,0) for 3-D and
- (0,0,0,0) for 4-D geometries.
-
-
- HYPERGEO Version 2.1 Page B-10
-
-
-
- Parameter: PROJECTION
-
- Value: None
-
- Use: Causes HYPERGEO to use the projection mode of 4-D to
- 3-D reduction (rather than intersection mode).
-
- The PROJECTION parameter is meaningless for
- three-dimensional geometries.
-
- DUAL, PROJECTION, and INTERSECTION are mutually
- exclusive alternatives; if more than one appears in
- configuration file data, the final one encountered
- will take precedence.
-
- Default: By default HYPERGEO uses intersection mode for 4-D to
- 3-D reductions.
-
-
-
- Parameter: SCALE
-
- Value: numeric value (floating-point)
-
- Use: Specifies the scale factor at which the display is
- drawn. The units of this value are screen inches per
- geometry unit.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in
- a geometry definition file; however, it may be
- specified in the primary configuration file.
-
- Default: Autoscale: the display is scaled to fit comfortably
- within the primary graphics area allowing ample room
- for interactive rotations.
-
-
- HYPERGEO Version 2.1 Page B-11
-
-
-
- Parameter: SCREEN_HEIGHT
- SCREEN_WIDTH
-
- Value: numeric value (floating-point)
-
- Use: These two parameters specify the vertical and
- horizontal size in inches of the actual area on the
- display screen in which graphics are drawn. They can
- best be determined for a particular monitor by simply
- measuring the height and width of the displayed area
- on the face of the screen.
-
- The precise accuracy of these parameters isn't
- critical, but they are useful to insure that the
- program's display scale is consistent between the
- horizontal and vertical directions (so that squares
- look square and not rectangular, for example).
-
- Default: SCREEN_HEIGHT 6.0
- SCREEN_WIDTH 8.0
-
- Note: These default values are about right for the
- typical 12-inch monitor.
-
-
-
- Parameter: SOLID_DITHER
-
- Value: One of: ON
- OFF
-
- Use: Specifies whether or not the program will use color
- dithering techniques to extend the number of shades
- available for solid surface rendering. (Dithering is
- the pixel-by-pixel blending of different colors to
- produce what appears to the eye as an intermediate
- solid shade.)
-
- HYPERGEO generates a palette of twelve distinct
- shades that are used to fill the faces of an object
- viewed with the solid display mode. With dithering,
- this number is increased to twenty-three. The only
- disadvantage to using dithering is that it slows down
- the speed at which the graphics are drawn. Disabling
- this feature should only be necessary if display
- speed is unusually critical; otherwise, use
- dithering.
-
- Note: This parameter is meaningful only for systems
- with color graphics.
-
- Default: ON
-
-
- HYPERGEO Version 2.1 Page B-12
-
-
-
- Parameter: SOLID_FILL
-
- Value: One of: COLOR
- PATTERN
-
- Use: Specifies whether to use color or pattern for surface
- rendering in solid display mode.
-
- When color is used for solid surface rendering,
- HYPERGEO displays the faces of the object with
- varying levels of brightness to indicate how they are
- illuminated by a theoretical light source. If
- pattern is used instead, the same effect is achieved
- by varying the density of fill (displayed with a
- single color) used to render the object's solid
- faces.
-
- If color is used, the twelve shades derived from the
- COLOR_SOLID color (see above) are used for VGA
- graphics, and a set of twelve pre-programmed colors
- are used for EGA graphics. Dithering may be used to
- increase the number of apparent shades to
- twenty-three (see the SOLID_DITHER parameter above).
-
- If pattern is used, it is displayed using the color
- specified for the primary geometry graphics.
-
- Note: This parameter is only meaningful on systems
- with color graphics capability (EGA or VGA); on
- monochrome systems, PATTERN is always used.
-
- Default: COLOR (for EGA and VGA color systems)
- PATTERN (for monochrome systems)
-
-
-
- Parameter: TURN
-
- Value: numeric value (floating-point)
-
- Use: Specifies the incremental step angle used by all
- interactive rotation commands. This value is
- specified in degrees.
-
- Default: 5.0
-
-
- HYPERGEO Version 2.1 Page B-13
-
-
-
- Parameter: VECTOR_LENGTH
-
- Value: numeric value (floating-point)
-
- Use: Specifies the length in screen inches of the unit
- axis vectors which may optionally be displayed as
- part of the primary geometry graphics (see
- DISPLAY_VECTOR above). The VECTOR_LENGTH is the
- length an axis vector appears on the screen when it
- is situated parallel to the XY-plane. As the object
- is rotated, the various axis vectors will appear to
- rotate with it and become visibly shorter as they
- assume different oblique orientations.
-
- Default: 1.0
-
-
-
- Parameter: W_INTER
-
- Value: One of: CENTERED
- numeric value (floating-point)
-
- Use: Specifies the W-coordinate value at which a
- four-dimensional hyperobject will be "sliced" when
- using 4-D to 3-D intersection mode (that is, the
- value 'k' in the equation, w = k, of the intersecting
- hyperplane). If a numeric value is specified, it
- should be in the same units as the geometry
- definition.
-
- When CENTERED is specified, the program automatically
- calculates the W value to use as the average of the
- minimum and maximum of all W coordinate values in the
- geometry definition. This slices the hyperobject
- more or less down the middle.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in
- a geometry definition file; however, it may be
- specified in the primary configuration file.
-
- Default: CENTERED
-
-
- HYPERGEO Version 2.1 Page B-14
-
-
-
-
- Parameter: W_PROJECT
-
- Value: numeric value (floating-point)
-
- Use: Specifies the W-coordinate value at which the
- theoretical viewpoint is positioned in hyperspace for
- generating 4-D to 3-D projections. The value is in
- the same units as the geometry definition.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in
- a geometry definition file; however, it may be
- specified in the primary configuration file.
-
- Default: 2 times the "radius" of the hyperobject
-
-
- HYPERGEO Version 2.1 Page B-15
-
-
-
-
- The following is an example of a HYPERGEO configuration file:
-
- ! Example HYPERGEO Configuration File
- !
-
- PROJECTION ! change from default Intersection
-
- Color_Background Black
- Color_Vector LightCyan ! lighter than default CYAN
-
- COLOR_SOLID 63 53 43 ! light reddish tan - gives
- ! darker shades that range
- ! through cocoa on down to
- ! dark red-brown
-
- display_vector on
- vector_length 2.0 ! up from default 1 inch
-
- TURN 45 ! for fast rotations
-
- DISPLAY_MODE anaglyph ! start in stereoscopic mode
-
-
- HYPERGEO Version 2.1 Page C-1
-
-
-
-
- Appendix C. Command Line Arguments
-
-
- The HYPERGEO command line consists of the name of the program's
- executable file, HYPERGEO.EXE, followed optionally by additional
- parameters that are passed to the program. This additional text
- is used to transmit control specifications to the HYPERGEO
- program. Parameters passed to a program in this manner are
- called command line arguments.
-
- Note: Normally the .EXE extension is not typed when the program
- is being executed since DOS knows it without being told.
-
- The HYPERGEO program accepts a number of command line arguments
- that can be used to control the behavior of the program. Many of
- the command line arguments perform a function identical to
- parameters that can be specified in the HYPERGEO configuration
- file. Whenever a command line argument and a configuration file
- parameter are in conflict, the command line argument takes
- precedence. Furthermore, the command line specifications will
- continue to override configuration parameters that might be
- contained in any new geometry definition files that are read into
- the program interactively.
-
- Each command line argument consists of a single key letter that
- is entered on the HYPERGEO command line. The key letters should
- be typed on the command line with a preceding hyphen, for
- example,
-
- HYPERGEO -a
-
- Multiple arguments can either be strung together following a
- single hyphen or typed separately preceded by individual hyphens;
- thus,
-
- HYPERGEO -aIv
-
- and
-
- HYPERGEO -a -I -v
-
- are equivalent.
-
- Several arguments are flags indicating that a file name follows
- them immediately on the command line. For these arguments, there
- must be no other argument letters following them before the file
- name. There may, however, be one or more (or no) spaces between
- the flag letter and the file name.
-
-
- HYPERGEO Version 2.1 Page C-2
-
-
- In all instances, the case (lower or upper) of the key letter is
- significant. A number of arguments use the two cases of the same
- letter to mean opposite settings of a single parameter. All
- arguments that use only one case of a letter require it to be
- lower-case; it will be rejected as an error if typed in
- upper-case.
-
- (Confession: The standard notation of using a hyphen to prefix
- command line argument letters is styled after the Unix
- convention. HYPERGEO follows this usage, and hyphens will always
- work. However, to be candid, the arguments will also be handled
- correctly if preceded by a slash ('/', NOT a back-slash) or by
- nothing at all. The only possible source of confusion is with
- file names appearing in the command line, but as long as all file
- names are always correctly and immediately preceded by their flag
- argument, the hyphen (or slash) prefix is superfluous and can be
- dispensed with.)
-
- Most arguments perform an independent function and can be used in
- any desired combination with other arguments. However, five of
- the arguments serve to set the value of a single parameter, the
- 3-D graphic display mode, and they are mutually exclusive. These
- arguments are -a, -h, -p, -r, and -s; if more than one of them
- appears in a HYPERGEO command line, the one typed last takes
- effect. Also, the -e and -x arguments specify alternative modes
- of overlay swapping; if both are entered, the last one typed
- takes effect.
-
- The remainder of this appendix contains a list of all command
- line arguments for the HYPERGEO program.
-
-
- HYPERGEO Version 2.1 Page C-3
-
-
-
- Argument: -a
-
- Use: Selects the stereoscopic anaglyph mode of display.
-
- This argument is mutually exclusive with -h, -p, -r,
- and -s.
-
- Default: Perspective display mode.
-
-
-
- Argument: -b
-
- Use: Instructs HYPERGEO to create all graphics in
- monochrome, using black on a white background, even
- if the graphics display device supports color. This
- can be useful when a monochrome monitor is connected
- to a color graphics controller card.
-
- With monochrome graphics the stereoscopic anaglyph
- and surface relief display modes are unavailable, and
- solid surface fill always uses patterns.
-
- Default: Color if graphics device supports it, else
- monochrome.
-
-
-
- Argument: -c
-
- Use: Specifies the name of a HYPERGEO configuration file
- to use. The argument letter must be followed on the
- command line by the file name, with no other
- arguments intervening. The file name can contain
- full DOS path information; if there is no path
- specified, it is assumed to exist in the current
- directory. If the file name specification has no
- extension, it is assumed to have the extension .CFG.
-
- If this argument is used and the specified file
- cannot be opened, it is a fatal error and HYPERGEO
- terminates. It is not an error, however, if the
- default configuration file, HYPERGEO.CFG, cannot be
- opened.
-
- Default: HYPERGEO.CFG in current directory
-
-
- HYPERGEO Version 2.1 Page C-4
-
-
-
- Argument: -d/-D
-
- Use: Specifies whether or not to make use of the system's
- installed mouse driver. The lower-case option, -d,
- causes HYPERGEO to use the mouse driver. The
- upper-case option, -D, tells the program to use its
- own mouse support functions without making use of the
- system's driver.
-
- These options should rarely be used. They are
- provided only for those exceptional cases where a
- particular mouse driver fails to operate correctly
- with HYPERGEO. Almost all standard mouse drivers
- will provide proper functioning of the mouse.
- However, a few drivers have been encountered that
- produce erratic mouse behavior in HYPERGEO. If you
- are experiencing less than perfect mouse performance
- - for example, occassional mouse button presses or
- releases that fail to have an effect - try using the
- -D option to bypass the mouse driver.
-
- Note: The lower-case option, -d, is the default
- setting and thus has essentially no effect; it is
- included merely for completeness and for possible
- future extensions.
-
- Default: Use the system's installed mouse driver.
-
-
-
- Argument: -e
-
- Use: Tells HYPERGEO to use expanded (EMS) memory as its
- overlay swapping area. Enabling overlay swapping can
- speed up program execution. To use this option, your
- system must either have an EMS-standard expanded
- memory board installed or be set up for EMS emulation
- with a driver such as Microsoft's EMM386.EXE.
-
- This option is mutually exclusive with the -x option.
- If both are specified, the last one entered takes
- effect.
-
- Note: Don't enable overlay swapping if your system
- already has a disk caching program installed.
-
- Default: Overlay swapping is disabled.
-
-
- HYPERGEO Version 2.1 Page C-5
-
-
-
- Argument: -f
-
- Use: Specifies the name of a HYPERGEO geometry definition
- file to use. The argument letter must be followed on
- the command line by the file name, with no other
- arguments intervening. The file name can contain
- full DOS path information; if there is no path
- specified, it is assumed to exist in the current
- directory. If the file name specification has no
- extension, it is assumed to have the extension .BIN.
-
- If either the geometry file specified by this
- argument or the default geometry file cannot be
- opened, it is a fatal error and HYPERGEO terminates.
-
- Default: HYPRCUBE.BIN in current directory
-
- This is the standard four-dimensional hypercube.
-
-
-
- Argument: -g/-G/-gG
-
- Use: Selects the method for reducing the 4-D geometry to a
- 3-D image for display. The lower-case argument, -g,
- selects intersection mode, and the upper-case
- argument, -G, selects projection mode. If both the
- lower-case and upper-case arguments are specified
- (i.e., -gG), a dual 4-D to 3-D reduction is
- performed; this generates both a projection image
- and an intersection image displayed simultaneously
- side by side on the screen.
-
- Default: Intersection mode
-
-
-
- Argument: -h
-
- Use: Selects the hidden-line mode of 3-D display.
-
- This argument is mutually exclusive with -a, -p, -r,
- and -s.
-
- Also, hidden-line display mode cannot be used with
- 4-D projections. If this argument is used together
- with the -G argument, a warning message is issued and
- the program starts up in perspective display mode.
-
- Default: Perspective display mode.
-
-
- HYPERGEO Version 2.1 Page C-6
-
-
-
- Argument: -i/-I
-
- Use: Specifies whether or not to display the special
- HYPERGEO information window automatically upon
- program start up and whenever a new geometry
- definition file is read. The lower-case argument,
- -i, selects automatic display, and the upper-case
- argument, -I, deactivates it.
-
- Default: The information window is automatically displayed.
-
-
-
- Argument: -m/-M
-
- Use: Specifies whether or not to display the menu area
- along the right edge of the screen. The menu area
- lists a number of parameters that describe the
- current display and that can be modified
- interactively within the HYPERGEO program. It also
- contains a mouse control pad area which allows the
- mouse to be used for performing rotations of the
- geometry. If the menu area is not displayed, the
- primary geometry graphics use the entire screen area;
- the mouse may not be used without the display of the
- menu area.
-
- The lower-case argument, -m, selects display of the
- menu area, while the upper-case argument, -M, causes
- the menu not to be displayed.
-
- Default: The menu area is displayed.
-
-
-
- Argument: -n/-N
-
- Use: Specifies whether or not to display the name of the
- geometry definition file in the upper, left corner of
- the graphics display.
-
- The lower-case argument, -n, selects display of the
- file name, while the upper-case argument, -N, causes
- the name not to be displayed.
-
- Default: The geometry definition file name is displayed.
-
-
- HYPERGEO Version 2.1 Page C-7
-
-
-
- Argument: -p
-
- Use: Selects perspective display mode.
-
- This argument is mutually exclusive with -a, -h, -r,
- and -s.
-
- Default: Perspective display mode.
-
-
-
- Argument: -r
-
- Use: Selects the surface relief mode of 3-D display.
-
- This argument is mutually exclusive with -a, -h, -p,
- and -s.
-
- Surface relief mode cannot be used with 4-D
- projections. If this argument is used together with
- the -G argument, the program uses perspective display
- mode.
-
-
- Default: Perspective display mode is used.
-
-
-
- Argument: -s
-
- Use: Selects solid display mode.
-
- This argument is mutually exclusive with -a, -h, -p,
- and -r.
-
- Also, solid display mode cannot be used with 4-D
- projections. If this argument is used together with
- the -G argument, a warning message is issued and the
- program starts up in perspective display mode.
-
- Default: Perspective display mode.
-
-
- HYPERGEO Version 2.1 Page C-8
-
-
-
- Argument: -v/-V
-
- Use: Specifies whether or not to display the unit axis
- vectors along with the primary geometry graphics.
-
- The lower-case argument, -v, selects display of the
- axis vectors, while the upper-case argument, -V,
- causes the axis vectors not to be displayed.
-
- Note: Regardless of the setting of this option, the
- axis vectors are never displayed in hidden-line,
- surface relief, or solid display mode.
-
- Default: The unit axis vectors are not displayed.
-
-
-
- Argument: -w
-
- Use: Instructs HYPERGEO to create all graphics in
- monochrome, using white on a black background, even
- if the graphics display device supports color. This
- can be useful when a monochrome monitor is connected
- to a color graphics controller card.
-
- With monochrome graphics the stereoscopic anaglyph
- and surface relief display modes are unavailable, and
- solid surface fill always uses patterns.
-
- Default: Color if graphics device supports it, else monochrome.
-
-
-
- Argument: -x
-
- Use: Tells HYPERGEO to use extended memory as its overlay
- swapping area. Enabling overlay swapping can speed
- up program execution. To use this option, your
- system must have extended memory (memory at addresses
- above 1MB), and an extended memory driver (such as
- Microsoft's HIMEM.SYS) must be installed.
-
- This option is mutually exclusive with the -e option.
- If both are specified, the last one entered takes
- effect.
-
- Note: Don't enable overlay swapping if your system
- already has a disk caching program installed.
-
- Default: Overlay swapping is disabled.
-
-
- HYPERGEO Version 2.1 Page C-9
-
-
-
- Argument: -2/-3
-
- Use: Specify the system's CPU type.
-
- The -2 option tells HYPERGEO that it is running on an
- 80286-based computer (or on an earlier CPU, i.e., an
- 8088). Such computers are the IBM PC, PC-XT, and
- PC-AT, and their immediate contemporaries.
-
- The -3 option tells the program that it is running on
- an 80386-based system (or on a later CPU, i.e., an
- 80486).
-
- The key distinction between these two groups of
- computers is that the earlier CPUs were limited to
- 16-bit arithmetic while the newer CPUs can perform
- 32-bit arithmetic.
-
- These options should almost never be used. HYPERGEO
- has a built-in function that checks the identity of
- the system's CPU when it starts up. It uses this
- information to determine whether or not it can
- execute 32-bit arithmetic commands. In almost all
- cases this automatic check works properly to indicate
- the correct CPU type.
-
- However, it is possible that some computers may not
- be correctly identified this way by the program. If
- an 80386 or 80486 CPU is misidentified as an earlier
- 16-bit processor, the symptoms are very subtle (just
- a slight loss of execution speed), and it is very
- unlikely that you would ever notice the difference.
- If an 80286 or 8088-based computer is misidentified
- as a 32-bit machine, the symptoms are much harder to
- miss: HYPERGEO will crash upon start-up.
-
- If HYPERGEO crashes or hangs the system almost
- immediately upon start-up and you have a computer
- with an 80286 or 8088 CPU, try using the -2 option.
-
- If you have an 80386 or 80486 in your system and you
- are the sort who tends to worry, you can go ahead and
- use the -3 option. It will do no harm, and it will
- guarantee that HYPERGEO is making proper use of your
- computer's 32-bit arithmetic capabilities.
-
- Note: Using the -3 option with an 80286 or 8088-based
- system will do harm; it will cause HYPERGEO to crash.
-
- Default: No default; setting determined by checking the CPU
-
-
- HYPERGEO Version 2.1 Page C-10
-
-
-
-
- Argument: -?
-
- Use: Prints to the screen a description of the appropriate
- syntax and usage of these command line arguments and
- terminates the HYPERGEO program.
-
- Default: No syntax description is printed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The following is an example of a HYPERGEO command line:
-
- HYPERGEO -f 16cell -cc:\configs\special.dat -Gav -I
-
-
- This command invokes the following command line argument
- functions:
-
- * Use the geometry definition file 16CELL.BIN located in
- the current directory
-
- * Use the configuration file SPECIAL.DAT located in the
- directory C:\CONFIGS\
-
- * Use projection mode for reducing the 4-D geometry to a
- 3-D image
-
- * Use stereoscopic anaglyph display mode for the 3-D image
-
- * Display the unit axis vectors
-
- * Deactivate the automatic display of the HYPERGEO
- information window
-
-
- HYPERGEO Version 2.1 Page D-1
-
-
-
-
- Appendix D. Interactive Commands
-
-
- When the HYPERGEO program is executed, it accepts any command
- line arguments, reads in the appropriate configuration file (if
- any) and geometry definition file, and generates the initial
- display of the geometric object. From that point on, the program
- remains responsive to a set of interactive commands which enable
- the user to manipulate the orientation of the object and to
- modify the various parameters that control the manner in which
- the display is generated. Many of these interactive commands
- affect the same parameters that can be initially set through the
- configuration file and command line arguments.
-
- All interactive commands are invoked using either the keyboard or
- the mouse. The mouse (if the system has one) provides an
- alternative means for invoking the commands for rotation of the
- object and for changing the value of the several display
- parameters that are listed in the menu area; if there is no
- mouse, keyboard commands can be used to perform the same
- functions. (Also, if the menu area is not displayed, the mouse
- cannot be used, and the keyboard equivalents must be similarly
- resorted to instead.)
-
-
- D.1 Keyboard Commands and the Modifier Keys
-
- The keyboard commands consist of either a single keystroke or a
- single keystroke accompanied by the simultaneous pressing of one
- of the standard keyboard modifier keys: Shift, Ctrl, or Alt.
- These modifier keys are only used with some of the interactive
- commands, and in almost all cases they have a consistent meaning:
-
- Shift - Generally used to reverse the sense or direction of
- the command's action.
-
- Used with keystrokes that invoke the various
- rotations, it causes the direction of rotation to
- be reversed, that is, to be equivalent to a
- negative turn angle.
-
- Note: For all command keystrokes that are letters,
- if the Shift key has no special meaning for that
- command, the command may be entered equivalently in
- either lower or upper case. Only four letter
- commands (G, X, Y, and Z) have special
- Shift-modified meanings.
-
-
- HYPERGEO Version 2.1 Page D-2
-
-
-
- Ctrl - Used with keystrokes for the rotation commands plus
- the command for translating the intersecting
- hyperplane along the W-axis in hyperspace; causes
- the command action to be repeated continuously as
- fast as the computer's processing speed will allow.
- This "command automation" is stopped by pressing
- any key.
-
- In the case of the hyperplane translation command,
- the automated motion is automatically reversed in
- direction each time the intersecting hyperplane
- reaches an extreme of the hyperobject. This causes
- the hyperplane to move continuously back and forth
- through the entire body of the hyperobject.
-
- Alt - Used with keystrokes for the rotation commands; has
- the same "command automation" effect as the Ctrl
- modifier except the rotation is in the reverse
- direction. The continuous, automated rotation is
- stopped by pressing any key.
-
-
- D.2 Mouse Selected Interactive Commands
-
- When the mouse is used to invoke a rotation command, no special
- modifiers are necessary since the action of the mouse buttons
- provides the equivalent control. A rotation command can be
- invoked with the mouse (whenever the HYPERGEO menu area is
- displayed) by moving the mouse so the cursor is over the
- selection box labeled with the coordinate letters indicating the
- desired axis or plane of rotation; this will highlight the
- selection box. To begin the rotation, press the left or right
- mouse button; the right mouse button causes a rotation in the
- positive direction, and the left mouse button rotates the object
- in the negative direction. The rotation will continue as long as
- the mouse button remains pressed. A single incremental rotation
- can be achieved by quickly clicking and releasing the mouse
- button.
-
- There are nine rotation command selection boxes in the HYPERGEO
- menu area, divided into two sections: 3-D axial rotations, and
- 4-D planar rotations. All nine are available for 4-D geometries,
- but only the three 3-D rotations can be selected when the input
- geometry is three-dimensional (in 3-D geometry mode, the section
- of the mouse control pad area that contains the selection boxes
- for 4-D rotations is shaded over with a stippled pattern, and
- those mouse functions cannot be selected). The 4-D rotation
- selection boxes are labeled with the letters of the two
- coordinates specifying the plane of the rotation; thus, selecting
- the box labeled "XY" initiates a rotation in hyperspace of the
- XY-plane. The 3-D rotation selection boxes are labeled with the
- single letter of the axis around which the rotation occurs: X, Y,
- or Z.
-
-
- HYPERGEO Version 2.1 Page D-3
-
-
-
- If your system has no mouse or if the menu area isn't displayed
- (or if you simply prefer to use the keyboard), there is an
- equivalent keyboard command for each of the nine mouse rotations:
-
- Keystroke Mouse Selection Box Label
- --------- -------------------------
- X X
- Y Y
- Z Z
- F5 YZ
- F6 XW
- F7 XZ
- F8 YW
- F9 XY
- F10 ZW
-
-
- The keystrokes F5, F7, and F9 correspond to the YZ, XZ, and XY
- 4-D planar rotations. Note that these are the three rotations
- that occupy the top row of the six 4-D rotation selection boxes
- in the menu area and that they are the 4-D rotations that don't
- involve the W coordinate. These three rotations produce the same
- visual effect in the geometry display as the three 3-D rotations
- whose selection boxes are directly above them in the menu: X, Y,
- and Z.
-
- The keystrokes F6, F8, and F10 correspond to the three 4-D
- rotations that do involve the W coordinate: the XW, YW, and ZW
- planar rotations. These are the 4-D rotations that occupy the
- bottom row of selection boxes within the menu area. They do not
- correspond in effect to any of the 3-D rotations.
-
- When the alternative user interface state that allows the
- temporary translation of a selected 4-D vertex is in effect, all
- 4-D rotations are disabled; that portion of the menu is replaced
- by a control pad area that has selection boxes for executing
- translations of the vertex along each of the four coordinate
- axes. These boxes are labeled X, Y, Z, and W. To perform a
- translation, move the mouse cursor so the appropriate box is
- highlighted. Pressing the right mouse button moves the vertex in
- the positive direction along the particular axis, and pressing
- the left mouse button moves it in the negative direction. The
- vertex continues to move until the mouse button is released.
-
- In addition to performing interactive rotations and vertex
- translations, the mouse can be used to modify the other
- parameters shown in the menu area. To do this, move the mouse
- cursor over the label of the desired parameter and click one of
- the buttons. Depending on the particular parameter, this will
- either cause an immediate change to the parameter or bring up a
- dialog box requesting specification of a new value.
-
-
- HYPERGEO Version 2.1 Page D-4
-
-
-
- The parameters for eye-to-screen distance (EYE DIST), scale
- factor (SCALE), W-coordinate of the intersecting hyperplane
- (W-INTER), and the W-coordinate of the 4-D projection viewpoint
- (W-PROJ) exhibit the first type of behavior; selecting them with
- the mouse results in an immediate change to the parameter's
- value. This action is equivalent to the behavior of the
- keystroke commands that are used to modify these same parameters.
- Which mouse button is used to select the parameter determines the
- direction in which its value is adjusted: the right button
- increases it, and the left button decreases it:
-
- EYE DIST - Selecting with the right mouse button
- increases the eye-to-screen distance by 10%
- (thus decreasing the perceived degree of
- perspective). Using the left mouse button
- decreases the eye-to-screen distance by 10%.
-
- SCALE - Selection with the right mouse button
- increases the scale factor by 10%. Using the
- left mouse button decreases the scale factor
- by 10%.
-
- W-INTER - Selecting this parameter with the right mouse
- button increases the W-coordinate value of
- the intersecting hyperplane by an amount
- equal to the current value of the delta-W
- parameter. Selection with the left mouse
- button decreases the W-coordinate value by
- the delta-W amount.
-
- W-PROJ - Selecting with the right mouse button
- increases the W-coordinate of the 4-D
- projection viewpoint by 10% (thus decreasing
- the perceived degree of perspective). Using
- the left mouse button decreases the
- coordinate by 10%.
-
-
- All other parameters shown in the menu are modified through a
- dialog box that pops up when their label area is selected with
- the mouse (either button).
-
- When the geometry being displayed is three-dimensional, the
- parameters relating to the translation of the four-dimensional
- intersecting hyperplane (W-INTER) and the position of the 4-D
- projection viewpoint (W-PROJ) are not displayed since they have
- no meaning in 3-space.
-
-
- HYPERGEO Version 2.1 Page D-5
-
-
-
- D.3 Interactive Parameter Specification
-
- Some of the interactive commands prompt for the input of a value
- to be assigned to a program parameter. This value is generally
- either a numeric quantity, a file name, or a particular key word.
- The input is requested from the user via a prompting dialog box
- which pops up in the primary graphics area when the command is
- executed. There are several different types of dialog box used
- in HYPERGEO depending upon the nature of the parameter to be
- assigned a value. The behavior of these has been described fully
- in an earlier section of this document (3.2.3). Of these, the
- most frequently used is the generic text input dialog box.
-
- A text input dialog box contains an entry line in which the
- user's typed response appears. After typing in the appropriate
- value, the user should indicate that the entry is complete and
- correct by selecting the "Ok" button with the mouse (or by
- pressing <Enter>); this will cause the command to accept the
- typed in value for the given parameter. A dialog box may be
- cancelled at any time by selecting the "Cancel" button with the
- mouse (or by pressing <Esc>); this aborts the command that caused
- the dialog box to appear.
-
- Dialog boxes that accept character input - either key words or
- file names - are case insensitive; upper or lower case may be
- used as desired. Numeric values may be either integers or
- floating-point numbers depending upon the context of the command.
- If a floating-point number is appropriate, it may be entered with
- an optional decimal point and fractional digits and may include
- an optional decimal exponent in scientific notation.
-
- If the user's entry in a prompting dialog box is invalid, an
- error message window will appear. Like all HYPERGEO message
- windows, it can be dismissed by selecting the "Ok" button with
- the mouse (or by pressing <Enter> or <Esc>). All errors
- resulting from incorrect input to interactive parameter prompts
- are non-fatal; the program will continue running, ready for the
- next interactive command, once the message window is dismissed.
-
-
- HYPERGEO Version 2.1 Page D-6
-
-
-
- D.4 HYPERGEO Interactive Keyboard Commands
-
- The following is a list of all HYPERGEO interactive commands that
- can be entered from the keyboard while the program is displaying
- an active geometry:
-
-
-
-
- Keystroke: A
-
- Use: Selects the stereoscopic anaglyph mode of display.
-
- If the program is operating with monochrome graphics,
- the stereoscopic anaglyph display cannot be used; a
- message window will appear indicating this, and the
- current display mode will not be changed.
-
-
-
- Keystroke: B
-
- Use: Toggles on and off the color spectrum banding of 4-D
- graphics according to the W-coordinate of the
- corresponding vertexes and edges in the current
- hyperobject.
-
- The overall range of W-coordinate values is divided
- into ten sub-divisions, and each is assigned a
- different color from a pre-programmed spectrum of ten
- colors. These start with blue-violet for the minimum
- W-coordinate, proceed through blue, aqua, cyan,
- blue-green, green, olive-green, yellow, and orange
- for progressively larger W values, and end with red
- for the maximum W-coordinate. Each edge - or
- sub-segment of an edge - is displayed in the color
- corresponding to the spectrum band of its
- W-coordinate.
-
- If the program is operating with monochrome graphics,
- the color spectrum banding feature cannot be used.
-
-
- HYPERGEO Version 2.1 Page D-7
-
-
-
- Keystroke: C
-
- Use: Accepts a new color specification for drawing the
- primary graphics.
-
- For perspective and hidden-line display modes, this
- will be the single EGA color used to draw the edge
- outlines of the geometrical image being displayed.
- (This same primary graphics color is also used for
- the transient data value fields within the HYPERGEO
- menu area and for text appearing in dialog box
- windows.) The command will display a list dialog box
- offering a choice of one of the sixteen standard EGA
- colors:
-
- BLACK DARKGRAY
- BLUE LIGHTBLUE
- GREEN LIGHTGREEN
- CYAN LIGHTCYAN
- RED LIGHTRED
- MAGENTA LIGHTMAGENTA
- BROWN YELLOW
- LIGHTGRAY WHITE
-
- Note: The current background color cannot be selected
- as the primary foreground color (for obvious
- reasons); its entry will be disabled in the list
- dialog box.
-
-
- For solid display mode, if the system has VGA color
- capability, the command will accept a new
- specification for the twelve graduated shades of
- color to be used for solid surface rendering. If the
- system has a mouse, a color selection dialog box will
- appear which can be used to preview and choose the
- precise shade desired. Otherwise, a text dialog box
- will prompt for a color specification in the form of
- a red/green/blue number triple - three integers in
- the range 0 to 63 which are the relative intensities
- of the three primary components. In either instance,
- the color selected defines the lightest of the twelve
- solid-fill shades; the program will calculate eleven
- additional, darker shades from this to create the
- full range required for realistic surface rendering.
-
- This command is not applicable to the display modes
- that use red/blue anaglyphs (i.e., stereoscopic and
- surface relief) since they use colors that are fixed
- by the requirements of the "3D" viewing glasses.
-
-
- HYPERGEO Version 2.1 Page D-8
-
-
-
- Keystroke: D
-
- Use: Accepts a new delta value that will be used to
- increment (or decrement) the W-value of the
- intersecting hyperplane. This delta value is used by
- the interactive command which performs a translation
- of the intersecting hyperplane on geometries being
- displayed via the 4-D intersection mode (see Page
- Up/Page Down below).
-
- The value entered is a positive floating-point
- number. It is in the units of the currently active
- geometry.
-
-
-
- Keystroke: E
-
- Use: Accepts a new value for the eye-to-screen distance.
- This parameter is used in the generation of all 3-D
- to 2-D screen projections. Decreasing the
- eye-to-screen distance enhances the amount of
- apparent perspective in the display. For greatest
- realism, the eye-to-screen distance should be set to
- correspond to the true distance between the viewer's
- eyes and the screen.
-
- HYPERGEO automatically limits the maximum and minimum
- values to which this parameter can be set. This
- prevents numeric errors from occurring during the
- program's computations.
-
- The value entered is a positive floating-point
- number. It is in inches.
-
-
-
- Keystroke: F
-
- Use: Accepts the name of a new geometry definition file.
- A file selection dialog box appears which lists all
- files with the default extension for binary geometry
- files (.BIN) in the current directory. The features
- of the dialog box may be used to select valid (i.e.,
- binary) geometry definition files in other
- directories and with non-standard extensions.
-
- Reading in a new geometry definition file completely
- reinitializes HYPERGEO. The current geometry's
- database is freed, its display is cleared, and any
- configuration information (either from the command
- line or from a configuration file) is reapplied.
-
-
- HYPERGEO Version 2.1 Page D-9
-
-
-
- Keystroke: G
-
- Use: Cycles among the three variations of 4-D to 3-D
- geometry reduction: intersection, projection, and
- dual (simultaneous intersection and projection).
-
- The case of the entered keystroke is significant.
- Lower case 'g' cycles in the order
- Intersection/Projection/Dual; upper case 'G' in the
- order Dual/Projection/Intersection.
-
- Because hidden-line, surface relief, and solid
- displays cannot be used with 4-D to 3-D projections,
- if one of those three modes is in effect when the
- program switches from 4-D intersection to either 4-D
- projection or to dual intersection/projection,
- perspective display mode is automatically selected.
-
- The G command is not applicable to three-dimensional
- geometric objects.
-
-
-
- Keystroke: H
-
- Use: Selects hidden-line display mode.
-
- If the current geometrical object is four-dimensional
- and the 4-D to 3-D reduction mode is projection or
- dual intersection/projection, the hidden-line display
- cannot be used.
-
-
- HYPERGEO Version 2.1 Page D-10
-
-
-
- Keystroke: I
-
- Use: Displays the special HYPERGEO Information Window.
- This window contains a summary of the current
- object's topology, plus a number of related program
- parameters. For the topology, the window shows:
-
- * number of dimensions
- * number of vertex points
- * number of edges
- * number of faces
- * number of hyperfaces (4-D geometries only)
- * span (geometry units)
- * radius (geometry units)
-
- The "span" of an object is calculated by finding the
- minimum and maximum extents of the object in each of
- its three or four dimensions; the span is the largest
- difference between the minimum and maximum extents in
- a single dimension. The "radius" of an object is the
- greatest distance in (hyper)space of any vertex point
- from the origin.
-
- Additional parameters shown are:
-
- * screen height and width (inches)
- * horizontal and vertical pixels per inch
- * free memory (bytes)
-
- The HYPERGEO Information Window is an ordinary
- message dialog box; it can be dismissed by selecting
- the "Ok" button with the mouse (or by typing <Enter>
- or <Esc>).
-
-
- HYPERGEO Version 2.1 Page D-11
-
-
-
- Keystroke: J
-
- Use: Replays a previously recorded journal file. A file
- selection dialog box appears which lists all files in
- the current directory that have the default journal
- file extension (.JNL). The features of the dialog
- box can be used to select for replay a journal file
- in a different directory or with a non-standard
- extension.
-
- Once a journal file name has been selected and
- confirmed, HYPERGEO enters the special journal replay
- command mode. This is described fully in Section
- 3.6.2 of this document.
-
-
-
- Keystroke: K
-
- Use: Toggles on and off the recording of a journal file.
-
- A dialog box is used to accept the name of a new
- journal file to record. If a file already exists
- with the specified name, a second dialog box appears
- requesting approval to go ahead and overwrite it.
-
- While a journal file is being recorded, a message is
- displayed at the bottom of the display screen so
- indicating.
-
-
- HYPERGEO Version 2.1 Page D-12
-
-
-
- Keystroke: L
-
- Use: Locates the geometrical model at a particular
- orientation or position.
-
- This command has two variations depending upon the
- state of the user interface.
-
- In the default state in which the interface presents
- a full command set for performing rotations of the
- geometry in space or hyperspace, the Locate command
- accepts three (for 3-D) or four (for 4-D) angles
- which specify the desired angular displacements of
- the X, Y, Z, and W-coordinate axes from their initial
- orientations. Note that these are the same angular
- displacements as are shown in the menu area under the
- AXIS ANG label. A text dialog box is used to accept
- the angle values; they should be entered as three or
- four positive real values in the range of 0 to 180
- degrees.
-
- (Note: Due to limitations of the algorithm used to
- calculate the rotations necessary to achieve the
- specified axis angles, for 4-D geometries one of the
- four angles must be zero degrees. This limitiation
- does not exist for 3-D geometries. Also, for both
- 3-D and 4-D not all combinations of angles represent
- physically possible orientations.)
-
- In the alternative state in which the user interface
- permits the temporary translation of a selected 4-D
- vertex, the Locate command accepts four real values
- that are the X, Y, Z, and W-coordinate values in
- geometry units of the desired position in 4-space of
- the selected vertex. This allows the vertex to be
- located precisely at any valid coordinate within the
- range of the command. When the user interface is in
- the vertex translation state and a vertex has been
- selected, the coordinates are displayed in the menu
- area under the VERTEX label.
-
- (Note: In order to avoid numeric computation errors,
- the program will not accept any coordinate value
- which has an absolute value greater than 1.25 times
- the radius of the current geometry.)
-
-
- HYPERGEO Version 2.1 Page D-13
-
-
-
- Keystroke: M
-
- Use: Toggles on and off the display of the HYPERGEO menu
- area.
-
- The menu area must be displayed to enable the use of
- the mouse for command selection.
-
-
-
- Keystroke: N
-
- Use: Toggles on and off the display of the name of the
- current geometry definition file.
-
- When its display is toggled on, the geometry file
- name is shown in the upper-left of the main graphics
- area.
-
-
-
- Keystroke: O
-
- Use: Outputs the current image of the entire screen into a
- file in PCX graphics format. A dialog box prompts
- for the file name. If a file already exists with the
- specified name, a second dialog appears requesting
- approval to go ahead and overwrite it.
-
-
-
- Keystroke: P
-
- Use: Selects perspective display mode.
-
-
-
- Keystroke: Q
-
- Use: Quits the HYPERGEO program and returns to DOS.
-
-
-
- Keystroke: R
-
- Use: Selects surface relief display mode.
-
- If the current geometrical object is four-dimensional
- and the 4-D to 3-D reduction mode is projection or
- dual intersection/projection, the surface relief
- display mode cannot be used.
-
-
- HYPERGEO Version 2.1 Page D-14
-
-
-
- Keystroke: S
-
- Use: Selects solid display mode.
-
- If the current geometrical object is four-dimensional
- and the 4-D to 3-D reduction mode is projection or
- dual intersection/projection, the solid display mode
- cannot be used.
-
-
-
- Keystroke: T
-
- Use: Accepts a new value for the turn angle. The turn
- angle is the basic incremental angle used by each of
- the rotation commands. A large turn angle is useful
- for rapid manipulation of the geometrical object
- under study. Smaller angles can be used for fine
- positioning.
-
- The value entered is a positive floating-point
- number. Its units are degrees.
-
-
-
- Keystroke: U
-
- Use: Toggles between the two states of the user interface.
- In the default state, the user interface presents a
- full set of commands for performing rotations of the
- geometry in three and four dimensions.
-
- In the alternative state, a particular vertex may be
- selected in a 4-D geometry and may be temporarily
- repositioned in hyperspace. In this state, the 4-D
- rotation commands in the menu are replaced by the
- commands for performing vertex translation.
-
-
-
- Keystroke: V
-
- Use: Toggles on and off the display of the unit axis
- vectors.
-
- Regardless of the setting of this toggle, the unit
- axis vectors are not displayed with hidden-line,
- surface relief, or solid display mode.
-
-
- HYPERGEO Version 2.1 Page D-15
-
-
-
- Keystroke: W
-
- Use: The function of this command depends on whether the
- current 4-D image is an intersection or a projection.
-
- For 4-D to 3-D intersection images, it accepts a new
- value for the W-coordinate of the hyperplane used to
- calculate the intersection. Repositioning the
- intersecting hyperplane at various W-coordinate
- values provides a means for examining the
- hypergeometrical structure of the current object.
-
- For 4-D to 3-D projection images, the 'W' keystroke
- accepts a new value for the W-coordinate of the
- theoretical viewpoint used to calculate the
- projection. The viewpoint is always located on the
- positive W-axis; changing its distance from the
- hyperobject's origin adjusts the degree of
- perspective visible in the projection.
-
- For both usages of the command the value entered is a
- floating-point number in geometry units.
-
- Note: In the dual imaging mode in which an
- intersection and a projection both are displayed at
- the same time, the 'W' command affects the
- intersecting hyperplane, not the projection
- viewpoint; thus, it has no effect on the appearance
- of the projection image.
-
-
- HYPERGEO Version 2.1 Page D-16
-
-
-
- Keystroke: X
- Y
- Z
-
- Use: Executes a three-dimensional rotation of the current
- 3-D image about the particular axis: X, Y, or Z. The
- size of the rotation is determined by the current
- turn angle.
-
- When the active geometry is four-dimensional, all 3-D
- rotations are transient and operate only on the
- immediate 3-D image which has been derived from the
- hyperobject's geometry via a 4-D to 3-D reduction
- using either projection or intersection. In this
- case, the program does not update the display of the
- unit axis vectors or the values shown in the menu's
- axis angle data fields during 3-D rotations.
-
- For three-dimensional geometries, however, 3-D
- rotations are permanent; the internal database is
- modified accordingly, and the unit axis vectors and
- the displayed values for the axis angles are updated
- with each 3-D rotation.
-
- By themselves, the X, Y, and Z keys produce a single
- incremental rotation in the positive direction. This
- effect can be altered by combining the keystroke with
- the simultaneous pressing of one of the standard
- keyboard modifier keys (for example, Shift-X is
- entered by pressing and holding down the Shift key,
- then pressing X):
-
- Shift - Reverses the direction of the rotation
-
- Ctrl - Automates continuous rotations in the
- positive direction. The rotations are
- performed as fast as the system's
- processing speed will allow. To stop the
- animation, press any key.
-
- Alt - Automates continuous rotations in the
- negative direction. The rotations are
- performed as fast as the system's
- processing speed will allow. To stop the
- animation, press any key.
-
-
- HYPERGEO Version 2.1 Page D-17
-
-
-
- Keystroke: F1
-
- Use: Displays the main on-line help screen. This screen
- contains an overview of the HYPERGEO program and a
- menu listing additional help pages that are organized
- by command categories. Each contains a brief
- description of a set of interactive commands
- available within the HYPERGEO program that perform
- related functions.
-
- The on-line help facility is described more fully in
- Section 3.2.2 of this document.
-
- The on-line help screen can be dismissed by typing
- <Esc>. This returns the program to the graphics
- state it was in prior to the F1 command.
-
-
-
- Keystroke: F2
-
- Use: Pauses the HYPERGEO program and brings up a temporary
- DOS command screen. This permits the user to execute
- DOS commands without completely exiting HYPERGEO.
- Typing EXIT at the DOS prompt closes the DOS screen
- and returns to HYPERGEO; the program's status is
- restored to that existing prior to executing the F2
- command.
-
- A temporary DOS command screen which is invoked from
- within a running program like this is commonly
- referred to as a "DOS shell".
-
- Note: While the temporary DOS command screen is
- active, the HYPERGEO program is still occupying its
- share of the computer's memory. Since this leaves
- considerably less free memory than is normally
- available, some DOS commands may be unable to run in
- the F2 DOS shell.
-
-
-
- Keystroke: F3
- F4
-
- Use: Performs continuous automated random rotations. The
- keystroke F3 initiates the continuous execution of
- the three 3-D rotations in a randomly determined
- order, and F4 initiates random execution of the six
- 4-D rotations. All rotations are in a positive
- angular direction with a size determined by the
- current turn angle. To stop the automation, press
- any key.
-
-
- HYPERGEO Version 2.1 Page D-18
-
-
-
- Keystroke: F5
- F6
- F7
- F8
- F9
- F10
-
- Use: Executes a four-dimensional rotation of the current
- hyperobject's geometry in hyperspace. The six
- function keys F5 through F10 correspond to the six
- possible coordinate planes in which a 4-D rotation
- may occur:
-
- F5 - YZ plane
- F6 - XW plane
- F7 - XZ plane
- F8 - YW plane
- F9 - XY plane
- F10 - ZW plane
-
- The size of the rotation is determined by the curent
- turn angle.
-
- After each 4-D rotation, the hyperobject's geometry
- is reduced to a 3-D image using the currently active
- method (intersection or projection), and the 3-D
- image is converted into a 2-D display on the
- computer's screen using the currently active display
- mode (perspective, stereoscopic anaglyph,
- hidden-line, surface relief, or solid).
-
- By themselves, the F5 through F10 keys produce a
- single incremental rotation in the positive
- direction. This effect can be altered by combining
- the keystroke with the simultaneous pressing of one
- of the standard keyboard modifier keys (for example,
- Shift-F5 is entered by pressing and holding down the
- Shift key, then pressing F5):
-
- Shift - Reverses the direction of the rotation
-
- Ctrl - Automates continuous rotations in the
- positive direction. The rotations are
- performed as fast as the system's
- processing speed will allow. To stop the
- animation, press any key.
-
- Alt - Automates continuous rotations in the
- negative direction. The rotations are
- performed as fast as the system's
- processing speed will allow. To stop the
- animation, press any key.
-
-
- HYPERGEO Version 2.1 Page D-19
-
-
-
- Keystroke: 1
- 2
- 3
- 4
- 5
- 6
- Alt-1
- Alt-2
- Alt-3
- Alt-4
- Alt-5
- Alt-6
-
- Note: Only the commands '1', '2', and '3' are
- available for 3-D geometries.
-
- Use: Rotates the object to one of the possible distinct
- orthogonal orientations. An "orthogonal orientation"
- is one in which all coordinate axes have been rotated
- an exact multiple of 90 degrees from their original
- positions.
-
- The orientations generated by these commands all have
- the property that a set of three of the axes are
- positioned coincident with the original positions of
- the X, Y, and Z axes. This means that the three axes
- form a normal "left-handed" 3-D coordinate system,
- that is, one in which the positive Z-axis is directed
- away from the viewer (into the screen) when the
- positive X-axis points to the right and the positive
- Y-axis points up. For 3-D geometries there are three
- such orthogonal orientations, and for 4-D there are
- twelve.
-
- For 4-D objects the fourth coordinate axis is rotated
- into the position of the original W-axis. This is
- the coordinate axis along which the intersecting
- hyperplane and the projection viewpoint are
- positioned for 4-D to 3-D image reduction.
-
- The orientations can be identified by specifying
- which axes are rotated into each of the original
- unrotated axis positions. For example, the
- orientation designated YZXW has the Y-axis positioned
- along the original X-axis, the Z-axis along the
- original Y-axis, the X-axis along the original
- Z-axis, and the W-axis still in its original
- unrotated direction.
-
-
- HYPERGEO Version 2.1 Page D-20
-
-
-
- The twelve commands generate the following
- orientations:
-
- Orientation
- Keystroke 3-D 4-D
- --------- -------------------
- 1 XYZ XYZW
- 2 YZX YZXW
- 3 ZXY ZXYW
- 4 YWZX
- 5 XWYZ
- 6 ZWXY
- Alt-1 YXWZ
- Alt-2 ZYWX
- Alt-3 XZWY
- Alt-4 WYXZ
- Alt-5 WXZY
- Alt-6 WZYX
-
- Notice that the Alt-modified version of each 4-D
- command differs from the unmodified numeric key
- version by having the same two axes form the rotated
- XY-plane (but in reversed order) and the same two
- axes form the ZW-plane (but also in reverse order).
- Compare, for example, the rotation produced by the
- '6' command (ZWXY) with that of the Alt-6 command
- (WZYX); the pairs ZW/WZ and XY/YX are reversed
- between the two.
-
- Note: The orientation produced by the '1' command
- (XYZ for 3-D or XYZW for 4-D) is the unrotated
- orientation of the original geometry. This is the
- same as the orientation generated by the Home
- command. However, unlike the Home command, the '1'
- command does not save the current orientation for
- restoring with the End command.
-
- Note: Use the numeric keys on the top row of the
- regular keyboard for these commands, not the keypad
- numeric keys.
-
-
-
- Keystroke: 0
-
- Use: Positions the display of the graphical image on the
- screen so that the point corresponding to the origin
- of the geometrical model is at the center of the main
- display area.
-
- The '5' key in the keypad (on keyboards with keypads
- and with NumLock off) also performs this function.
-
-
- HYPERGEO Version 2.1 Page D-21
-
-
-
- Keystroke: Home
-
- Use: Restores the orientation of the current geometry as
- it existed when the geometry definition file was
- first read in. All axis angles are reset to zero
- degrees.
-
- The current orientation is saved and may be returned
- to by using the End command (see below).
-
-
-
- Keystroke: End
-
- Use: Restores the current geometry to the orientation it
- was in prior to the most recent Home command (see
- above).
-
- If no Home command has yet been performed on the
- current geometry, the End command has no effect.
-
-
-
- Keystroke: =
-
- Use: Accepts a new value for the current display scale
- factor. A larger scale factor increases the size of
- the image on the screen, while a smaller scale factor
- decreases it.
-
- The value entered is a positive floating-point
- number. Its units are screen inches per geometry
- unit.
-
-
-
- Keystroke: +
- -
-
- Use: Performs a "zoom" operation on the visible image.
- The '+' command enlarges the graphical display, and
- the '-' command reduces it.
-
- These commands operate by changing the display scale
- factor. The '+' command increases the scale factor
- by 10% of its current value, and the '-' command
- decreases it by 10%.
-
-
- HYPERGEO Version 2.1 Page D-22
-
-
-
- Keystroke: Tab
-
- Use: Toggles on and off the highlighting of all edge lines
- in the displayed image that belong to a particular
- hyperface in the original 4-D geometry. The <Space>
- bar and <Backspace> key are used to select which
- hyperface is highlighted (see below).
-
- For 4-D to 3-D projection images, the highlighted
- edges correspond exactly to edges in the original
- hyperobject (they are in fact projections onto
- 3-space of those edges).
-
- For 4-D to 3-D intersection images, the highlighted
- edges form the outline of the polygonal face that is
- the intersection of the highlighted hyperface with
- the intersecting hyperplane. For a given orientation
- of the hyperobject and position of the intersecting
- hyperplane it is possible that the highlighted
- hyperface will not be intersected; when that is the
- case, no highlighting will show up in the 3-D image
- even when highlighting is toggled on.
-
- Hyperface highlighting may be used with dual
- intersection/projection images; the highlighting will
- appear in both images. In fact, this can be a very
- revealing technique for visualizing the relation
- between 4-D projection and intersection images.
-
- Note: Hyperface highlighting does not appear if an
- intersection image is drawn in hidden-line, surface
- relief, or solid display mode.
-
-
-
- Keystroke: Space
- Backspace
-
- Use: Cycles through all hyperfaces in a 4-D hyperobject
- for highlighting (see <tab> command above). The
- <Space> bar cycles in a forward direction (per an
- arbitrary ordering), and the <Backspace> key cycles
- in the reverse direction.
-
- If hyperface highlighting is toggled on, the results
- of stepping forward or back to a different hyperface
- are immediately reflected in the display. If
- highlighting is toggled off, there is no change in
- the current display, but the hyperface cycling is
- still performed; the next time highlighting is
- toggled on, the newly selected hyperface will be the
- one highlighted.
-
-
- HYPERGEO Version 2.1 Page D-23
-
-
-
- Keystroke: Insert
- Delete
- Ctrl-Insert
- Ctrl-Delete
-
- Use: Alters the degree of perceived 3-D perspective for
- the currently displayed image. These commands
- operate by modifying the eye-to-screen distance. The
- Insert command increases the eye-to-screen distance
- by 10% of its current value; this reduces the
- apparent perspective. The Delete command increases
- the perspective effect; it moves the viewpoint toward
- the object by decreasing the eye-to-screen distance
- by 10%.
-
- HYPERGEO automatically limits the maximum and minimum
- values to which the eye-to-screen distance can be
- set. This prevents numeric errors from occurring in
- the program's computations.
-
- When combined with the Ctrl key, Insert and Delete
- serve to set the eye-to-screen distance to its
- maximum or minimum permissable value respectively.
- The maximum eye-to-screen distance is useful in
- particular to approximate a pure orthographic
- projection.
-
-
-
- Keystroke: Page Up
- Page Down
- Ctrl-Page Up
- Ctrl-Page Down
-
- Use: The function of the Page Up and Page Down commands
- depends on whether the current image is a 4-D
- projection or intersection.
-
- For a 4-D to 3-D intersection image, the command
- performs a translation of the intersecting
- hyperplane. The hyperplane is moved along the W-axis
- in hyperspace. The size of the translation is
- determined by the value of the delta-W parameter.
- The Page Up command increments the W coordinate of
- the intersecting hyperplane by this delta amount, and
- the Page Down command decrements it.
-
-
- HYPERGEO Version 2.1 Page D-24
-
-
- For 4-D to 3-D projection images, Page Up and Page
- Down adjust the W-coordinate of the viewpoint used to
- calculate the projection. The Page Up command
- increases the distance of the viewpoint from the
- hyperobject's origin by 10% of its current value;
- this reduces the amount of perspective seen in the
- image. Page Down decreases the distance of the
- viewpoint from the origin, enhancing the apparent
- perspective.
-
- By themselves, the Page Up and Page Down commands
- perform a single incremental action, adjusting up or
- down the W-coordinate value of either the
- intersecting hyperplane or the projection viewpoint.
-
- When combined with the simultaneous pressing of the
- Ctrl key (for example, to enter Ctrl-Page Up, first
- press and hold down the Ctrl key, then press Page
- Up), these keystrokes perform an enhanced variation
- of their basic function.
-
- For 4-D to 3-D intersections, they initiate the
- continuously automated motion of the hyperplane
- through the body of the current four-dimensional
- geometry. In automated mode, the direction of the
- hyperplane's motion is reversed each time it reaches
- an extreme edge of the hyperobject, that is, the
- point at which it ceases to intersect the hyperobject
- in hyperspace. Thus, the hyperplane continues to
- move back and forth through the entire body of the
- hyperobject. The automated motion is stopped by
- pressing any key.
-
- For 4-D to 3-D projections, Ctrl-Page Up and
- Ctrl-Page Down set the W-coordinate of the projection
- viewpoint to its maximum and minimum permissable
- values respectively. When the distance of the
- projection viewpoint from the origin is maximized,
- the generated 3-D image approximates a pure
- orthographic projection. Minimizing the viewpoint's
- distance creates a 3-D image with a high degree of
- perceived perspective.
-
- When HYPERGEO is displaying dual images of an
- intersection and a projection together, the Page Up
- and Page Down commands perform their functions for
- the intersection image only. That is, they affect
- the intersecting hyperplane (and hence the
- intersection image), and do not affect the projection
- viewpoint (or the projection image).
-
-
- HYPERGEO Version 2.1 Page D-25
-
-
-
- Keystroke: Arrow Keys: Left, Right, Up, Down
-
- Use: The function of these keys depends on the state of
- the user interface.
-
-
- In the default user interface state for performing
- rotations of the geometry, these keys move the
- position of the current graphical display on the
- screen.
-
- When a new geometry is read in, HYPERGEO
- automatically centers the display within the primary
- graphics area. The arrow keys may be used to
- reposition it as required by subsequent rotations or
- other interactive manipulations.
-
-
- When the user interface is in its alternative state
- which permits the temporary translation of a
- particular 4-D vertex, the arrow keys are used to
- move a selected vertex in each of the four 4-D
- coordinate directions:
-
- Right arrow - Moves vertex in X direction
- Up arrow - Moves vertex in Y direction
- Left arrow - Moves vertex in Z direction
- Down arrow - Moves vertex in W direction
-
- By itself, each arrow key moves the vertex in the
- positive direction, i.e., increasing the particular
- coordinate. Combining the arrow key with the <Shift>
- key reverses the direction of movement; the
- coordinate value is decreased. (Note: Since the
- <Shift> key does not work consistently with the arrow
- keys on all keyboards, the <Ctrl> key may also may be
- used with the arrow keys to reverse the direction of
- vertex translation.)
-
-
- HYPERGEO Version 2.1 Page E-1
-
-
-
-
- Appendix E. Running HYPERGEO under Microsoft Windows
-
-
- The program file supplied with HYPERGEO (HYPERGEO.EXE) is a
- standard DOS executable; it is not a special Windows program.
- However, it can be run under Windows using that system's ability
- to execute non-Windows DOS programs. Two files are supplied with
- HYPERGEO to assist in adding the program to the Windows Program
- Manager: an icon file (HYPERGEO.ICO), and a Program Information
- File (HYPERGEO.PIF).
-
- The procedure to follow to add a new program to a particular
- program group within the Program Manager is described in the
- Windows User's Guide in the section "Creating a Program Item" in
- the Program Manager chapter (page 78 for Windows 3.1). Within
- the Program Item Properties dialog box that appears, the name of
- the HYPERGEO PIF file (including its DOS path) should be entered
- in the Command Line text box. You should also supply the name of
- the icon file by choosing the "Change Icon..." option from the
- Program Item Properties dialog box. Enter the icon file name
- (HYPERGEO.ICO) along with its full DOS path in the File Name text
- box within the Select Icon dialog box.
-
- One final step may be necessary to enable the running of HYPERGEO
- in Windows. The supplied PIF file has an entry which specifies
- the program's start-up directory. This initially contains the
- path specification C:\HYPERGEO. If you have installed HYPERGEO
- in a different directory, you will have to change this entry in
- the PIF to reflect the actual directory in which the program
- executable HYPERGEO.EXE exists. To modify a PIF you use the
- Windows PIF Editor. This is described fully in the Section
- "Working with PIFs and the PIF Editor" (page 259 for Windows 3.1)
- and subsequent sections in the chapter "PIF Editor" in the
- Windows User's Guide.
-
- The PIF Editor also lets you specify any optional command line
- parameters you wish to pass to HYPERGEO each time it is executed.
-
- The PIF file as supplied will cause HYPERGEO to run as a
- full-screen DOS program.
-
-
- HYPERGEO Version 2.1 Page F-1
-
-
-
- Appendix F. What's New in Version 2
-
-
- Version 2 represents a major revision of the HYPERGEO program.
- Much of the program has been completely rewritten in an effort to
- achieve faster and more robust performance. In addition, many
- new features and enhancements to existing features have been
- implemented.
-
- First, a word or two about a couple of areas in which some
- functionality has apparently been lost from Version 1. Most
- notable is the fact that the program no longer supports high
- resolution (640 by 480 pixels) on VGA displays; EGA and VGA both
- use the same standard 640 by 350 resolution. This was done to
- make the VGA's video memory available for video page swapping
- (see below). It was felt that the benefits of video paging
- outweigh the usefulness of the higher screen resolution
- (unfortunately, you can't have both).
-
- Also, the Orthographic display mode no longer exists.
- Orthographic projections are in general the least revealing form
- of perspective projection. An orthographic projection can be
- approximated in HYPERGEO Version 2 by setting the eye-to-screen
- parameter to its maximum permissable value (the new Ctrl-Insert
- command does this).
-
- The DELTA-W parameter is gone from the menu area. This was done
- to make room for the new W-PROJ parameter (see below). The
- delta-W value can still be specified in the configuration file
- (the DELTA_W parameter), and can still be set interactively with
- the 'D' command.
-
- And lastly, the configuration file parameters COLOR_MESSAGE_TEXT
- and RATIO no longer exist. The primary foreground graphics color
- is now used for most text in all message windows (dialog boxes).
- The RATIO parameter has been replaced by the SCALE parameter
- which has a different meaning mathematically (see below).
-
- The assignment of some command keystrokes has changed. The 4-D
- rotation commands have been moved from function keys F1 through
- F6 to use keys F5 through F10. This frees up F1 for on-line help
- and F2 for the new DOS shell feature. The random 3-D and 4-D
- rotation commands have also been reassigned; they now use F3 and
- F4 (instead of '3' and '4').
-
-
- HYPERGEO Version 2.1 Page F-2
-
-
-
- The following is a list of new features and enhancements
- incorporated in HYPERGEO Version 2:
-
-
- * Most computations are now performed using a fixed-point
- data format that makes use of integer arithmetic. This
- provides fast execution even on systems without a math
- coprocessor chip (such as an 80287 or 80387). The new
- fixed-point computations are most efficient on 80386 (or
- 80486) CPUs which can perform 32-bit integer arithmetic.
- However, even on 80286 (or lower) systems, the
- performance of the program in the absence of a
- coprocessor has been speeded up markedly.
-
- * The hidden-line algorithm has been totally reprogrammed
- for faster execution. It now performs a preliminary
- decomposition of complex, concave objects into a set of
- disjoint convex shapes. These are sorted along the
- Z-coordinate and are displayed using the so-called
- "painter's algorithm".
-
- * Graphics are now drawn to two video pages which are
- swapped between screen updates. This produces much
- smoother graphics animation without the annoying
- "flicker" that is visible when drawing to a single video
- page. (Note that this necessitates abandoning 640 by 480
- resolution for VGA as mentioned above.)
-
- * The portion of the program that performs the topological
- analysis of a new geometry definition file has been
- broken out into a separate stand-alone utility program,
- GEO2BIN. It is now only necessary to perform this
- analysis once each time a geometry file is created or
- modified rather than every time it is read into HYPERGEO.
- GEO2BIN stores its results in a secondary version of the
- geometry file that is in a binary format and can be read
- by HYPERGEO much more efficiently. For large and complex
- geometries, the time required to create a display in
- HYPERGEO has been reduced from minutes to seconds.
-
- * The user interface has been improved to allow additional
- mouse invocation of interactive commands and to use
- mouse-operated dialog boxes to prompt for and accept
- input from the user.
-
- * Within a 4-D image, those edges that belong to a single
- hyperface in the original geometry can be highlighted.
- Highlighted edges are displayed in a distinct color which
- can be specified using the new COLOR_HILITE configuration
- parameter.
-
-
- HYPERGEO Version 2.1 Page F-3
-
-
-
- * For 4-D images, all edges may be drawn using a color
- spectrum that maps segments of edge lines to a color that
- indicates their W-coordinate value in the original
- hyperobject.
-
- * A new dual imaging mode for 4-D to 3-D reductions
- displays both a projection and an intersection together
- side by side on the screen. When the dual mode is
- entered, HYPERGEO automatically rescales the display so
- the two images fit in the available area. All
- interactive commands affect both images simultaneously.
- The new DUAL parameter can be used in a HYPERGEO
- configuration file to select this imaging mode.
-
- * The user can change the position of the theoretical
- viewpoint used to calculate 4-D to 3-D projection images.
- This permits varying the amount of apparent perspective
- in the images from virtually none (equivalent to
- orthographic projection) to quite a lot. The 4-D
- projection viewpoint's position is controlled by the
- configuration parameter W_PROJECT plus several
- interactive commands, and is displayed in the menu area
- under the label W-PROJ.
-
- * A journalling capability permits capturing all graphics
- from a sequence of interactive manipulations of a
- geometrical model into a permanent file. A recorded
- journal file can be replayed in either forward or reverse
- order, and any particular frame of the journal may be
- viewed individually.
-
- * The current geometry can be positioned directly to any
- one of the set of distinct possible orthogonal
- orientations. These provide views that are perpendicular
- to one of the planes formed by a pair of coordinate axes.
- All twelve of the orthogonal orientations that are
- available for 4-D geometries can be generated, each via
- its own single-keystroke command.
-
- * A new "surface relief" display mode combines the features
- of hidden-line and stereoscopic display modes. A
- hidden-line display is shown using a red/blue anaglyph;
- with "3D" glasses the user views the front surface of the
- object with full depth perception of its relief.
-
- * A special state of the user interface can be entered
- which presents commands for temporarily adjusting the
- position in hyperspace of a selected vertex of the
- current hyperobject. The display is updated to show how
- moving the vertex in each of the four coordinate
- directions affects the resulting 3-D image.
-
-
- HYPERGEO Version 2.1 Page F-4
-
-
- * A new "Locate" command permits specifying a precise
- orientation of the current geometry in terms of the
- displacement angles of its coordinate axes.
-
- * An alternative form of the Locate command is available in
- the vertex translation state of the user interface. It
- enables the direct entry of four coordinate values to
- position the selected vertex precisely at a particular
- point in hyperspace.
-
-
- * The HYPERGEO screen image can be written to a file in PCX
- graphics format. This permits using HYPERGEO images in
- documents produced by third-party software.
-
- * A DOS shell can be started from within HYPERGEO. This
- pauses the HYPERGEO program and permits running one or
- more DOS commands. When the DOS shell is exited, the
- HYPERGEO display is restored to its previous state.
-
- * The on-line help facility has been expanded from one page
- to eight pages. The new on-line help is organized
- hierarchically according to categories of related
- commands.
-
- * The number of separate pure shades used for solid surface
- rendering has been increased from eight to twelve; and...
-
- * ...color dithering techniques can be used to increase the
- effective number of separate shades available for solid
- surface rendering from twelve to twenty-three. The new
- configuration parameter SOLID_DITHER controls this
- option.
-
- * Command-line options have been added that permit
- overriding certain automatic hardware and system software
- status checks that are performed by HYPERGEO. These
- options cope with idiosyncratic CPUs and mouse drivers
- that misidentify themselves to the program.
-
- * The meaning of the scale factor has been mathematically
- inverted. It is now defined as screen inches per
- geometry unit (in Version 1 it was geometry units per
- screen inch). This makes the value more intuitively
- sensible; a larger scale factor now means a larger
- display, and vice versa. To prevent the misapplication
- of existing data, the configuration parameter that
- specifies the scale factor has been renamed; the old
- RATIO parameter no longer exists, and the new parameter
- is called SCALE.
-
-
- HYPERGEO Version 2.1 Page F-5
-
-
- * The eye-to-screen parameter automatically restricts its
- value to a range that avoids numerical errors and
- corrupted graphics. New interactive commands permit
- setting the parameter directly to either its maximum or
- its minimum permissable value.
-
- * HYPERGEO can now use a Microsoft compatible mouse even if
- there is no standard mouse driver installed on the
- system. The program will detect and use a mouse on
- either serial port, COM1 or COM2.
-
- * For systems with VGA graphics, the default dark gray is
- redefined in the system palette to a shade that appears
- more reliably dark and gray.
-
-
- Note: The following two items are made available only with
- registered copies of HYPERGEO. They are not included in the
- shareware version.
-
-
- * Six utility programs have been created which automate the
- generation of geometry definition files for parameterized
- families of six types of curved object: cone, cylinder,
- sphere, hypercone, hypercylinder, and hypersphere. The
- programs calculate the geometry of shapes that are
- gridded approximations to these four curved shapes. The
- user can specify the fineness of the gridding. (See
- Appendix G for a fuller description.)
-
- * Additional geometry definition files have been created
- which describe the two "quasi-regular" 3-D convex
- polyhedra, the cuboctahedron and the icosidodecahedron,
- along with their derived compound and dual forms.
-
-
- HYPERGEO Version 2.1 Page G-1
-
-
-
-
- Appendix G. Utility Programs for Geometry File Generation
-
-
- Six stand-alone utility programs have been developed which
- automate the creation of certain categories of geometry
- definition files. These utilities are supplied with registered
- versions of the HYPERGEO program. (They are not included in the
- shareware release.)
-
- These utilities all deal with objects that contain curved
- surfaces. They generate an approximation to the curves that
- consists of a gridded structure of triangular or rectangular
- polygons and polyhedra. The user specifies a parameter that
- controls the fineness of the gridding. There is an obvious
- trade-off: a finer gridding factor produces more accurate models
- of the curved surfaces, but it also produces larger geometry
- files that are slower to display and to manipulate.
-
- The six utilities generate gridded models of cones, hypercones,
- cylinders, hypercylinders, spheres, and hyperspheres. The
- three-dimensional members of this list - cones, cylinders and
- spheres - are the familiar objects of standard solid geometry.
- The hypercone, hypercylinder, and hypersphere are their
- four-dimensional analogs. A cone is defined as the shape formed
- by a circle and the surface that connects each point on the edge
- of the circle to a point not in the circle's plane. A cylinder
- is a shape formed from two circular disks that are parallel in
- 3-space and are connected by a surface that joins all
- corresponding points on their edges. A sphere is the surface of
- all points that are equidistant in 3-space from its center point.
- A hypercone consists of a sphere and the hypersurface that
- connects each point on the surface of the sphere to a point that
- is not on the sphere's hyperplane. A hypercylinder is formed by
- two spherical surfaces that are parallel in 4-space and are
- connected by a hypersurface that joins all of the sphere's
- corresponding points. A hypersphere is the set of all points
- that are equidistant in 4-space from its center point.
-
- For a sphere, the gridding used to approximate the curved surface
- corresponds exactly to the latitude and longitude lines used to
- define locations on the earth's surface. For the cone and
- cylinder, the base circles are approximated by regular polygons,
- and the connections to the vertexes of the polygons form the
- gridded approximation of the conical or cylindrical surface. For
- a hypercone or hypercylinder, the base spheres are themselves
- gridded spheres (with "latitude" and "longitude" lines). The
- connections of these gridded vertexes and edges form the
- hyperconical or hypercylindrical surface. In the hypersphere,
- the third gridding dimension spans a sequence of parallel spheres
- each of which is itself approximated with 3-D "latitude" and
-
-
- HYPERGEO Version 2.1 Page G-2
-
- "longitude" measures. The connecting edges, faces, and
- hyperfaces between these spheres define the hyperspherical
- surface.
-
-
- The six utility programs are named as follows:
-
- CONE - Cones
- SPHERE - Spheres
- CYLINDER - Cylinders
- HYCONE - Hypercones
- HYSPHERE - Hyperspheres
- HYCYLNDR - Hypercylinders
-
- Each is executed with the same syntax, for example:
-
- SPHERE <gridding-parameter>
-
- The "gridding parameter" is an integer that must be at least 2.
- It determines the solid angle between parallel grid lines. This
- angle is equal to 180 degrees divided by the gridding parameter.
- Thus, a gridding parameter of 4 will generate grid lines that are
- 45 degrees apart on the object's surface. The larger the
- gridding parameter, the higher the accuracy of the model, and the
- larger and slower the file to execute.
-
- The output of the programs is a binary geometry definition that
- may be read directly into HYPERGEO. The name of the file is
- fixed for each program:
-
- CONE - CONEnn.BIN
- SPHERE - SPHEREnn.BIN
- CYLINDER - CYLNDRnn.BIN
- HYCONE - HYCONEnn.BIN
- HYSPHERE - HYSPHRnn.BIN
- HYCYLNDR - HYCYLRnn.BIN
-
- where 'nn' is the gridding parameter value (with leading '0' if
- less than 10). Thus, the command
-
- HYCYLNDR 3
-
- produces a geometry definition file named HYCYLR03.BIN. This is
- a hypercylinder gridded at 60 degree intervals.
-
- The user should be forewarned that because of the inherent
- complexity of hyperspace, the geometry files for hypercones,
- hypercylinders, and hyperspheres get very large very quickly,
- even for relatively modest values of the gridding parameter. The
- hypersphere grows the most quickly; a gridding parameter of 4 is
- already large for a hypersphere, and you will only be able to
- handle a hypersphere with a gridding parameter of 5 if your
- system has a full 640K of memory, almost all of it available to
- HYPERGEO.
-